White point calibration and gamut mapping for a display

ABSTRACT

In an example, a method of gamut mapping may include generating a first second-order or higher response-surface regression model that maps color values corresponding to the second color space to color values corresponding to the first color space. The method may include generating predicted color values for measured color values by inputting measured color values into the first second-order or higher response-surface regression model. The method may include generating, based on predicted color values and a plurality of color values, a second second-order or higher response-surface regression model that maps predicted color values output by the first second-order or higher response-surface regression model corresponding to the first color space to color values corresponding to the first color space.

This application claims the benefit of U.S. Provisional PatentApplication No. 62/254,705 filed on Nov. 12, 2015, which is herebyincorporated by reference herein in its entirety.

TECHNICAL FIELD

This disclosure relates to displays, and more particularly, tocalibration and adjustment techniques used for displays.

BACKGROUND

A wide variety of devices may include a display for visually presentingimages and/or other information. Devices that include a display mayinclude, for example, digital televisions, wireless communicationdevices, mobile telephones (e.g., cellular or satellite radiotelephones), smartphones, personal digital assistants (PDAs), laptop ordesktop computers, tablet computers, digital cameras, video cameras,digital media players, video game consoles, video gaming devices, etc.

To render colors correctly on a display, a display processor may performcolor correction on an image to be displayed in order to generate acolor-corrected image. The display processor may cause the display todisplay the color-corrected image. Performing color correction mayinvolve adjusting the colors in an image based on a target white pointfor the display. For example, some color correction techniques mayadjust the colors in an image based on a color correction matrix (whichmay also be referred to as a color correction model) that is determinedbased on the target white point for the display. As another example,performing color correction may involve adjusting the colors in an imagebased on mapping the gamut of a display, which may be referred to asgamut mapping.

SUMMARY

This disclosure describes techniques for calibrating and adjusting adisplay. For example, this disclosure describes techniques forcalibrating and adjusting the white point of a display (e.g., an organiclight-emitting diode (OLED) display), gamut mapping a display to a colorspace, and/or gamut mapping a display based on the performance of adifferent display. The techniques for calibrating and adjusting adisplay described herein may be modeled using a response-surfaceregression model that may include second order or higher color valueterms. The model may be generated for both first color space-to-secondcolor space and second color space-to-first color space (e.g.,RGB-to-XYZ and XYZ-to-RGB). This model may form the basis for predictingcolor space values (e.g., RGB values) for the desired white point, forgamut mapping, and the like. There may be many solutions to theprediction models, allowing for optimizing panel factors, such as OLEDpanel luminance (e.g., brightness) and/or power consumption.

In one example, this disclosure describes a method comprisinggenerating, by one or more processors based on a first plurality ofcolor values and a second plurality of color values, a firstsecond-order or higher response-surface regression model that maps colorvalues corresponding to the second color space to color valuescorresponding to the first color space, wherein the first plurality ofcolor values correspond to a first color space and the second pluralityof color values correspond to a second color space; receiving, by theone or more processors, a third plurality of color values, wherein thethird plurality of color values correspond to the first color space;receiving, by the one or more processors, one or more measured colorvalues corresponding to one or more colors displayed by a first targetdisplay, wherein the one or more measured color values correspond to thesecond color space, and wherein the third plurality of color values areassociated with the one or more measured color values; generating, bythe one or more processors, a predicted color value for each of the oneor more measured color values by inputting each of the one or moremeasured color values into the first second-order or higherresponse-surface regression model, wherein each predicted color valuecorresponds to the first color space; and generating, by the one or moreprocessors based on the one or more predicted color values and the thirdplurality of color values, a second second-order or higherresponse-surface regression model that maps predicted color valuesoutput by the first second-order or higher response-surface regressionmodel corresponding to the first color space to color valuescorresponding to the first color space.

In another example, this disclosure describes a device comprising amemory; and one or more processors configured to: generate, based on afirst plurality of color values and a second plurality of color values,a first second-order or higher response-surface regression model thatmaps color values corresponding to the second color space to colorvalues corresponding to the first color space, wherein the firstplurality of color values correspond to a first color space and thesecond plurality of color values correspond to a second color space;receive a third plurality of color values, wherein the third pluralityof color values correspond to the first color space; receive one or moremeasured color values corresponding to one or more colors displayed by afirst target display, wherein the one or more measured color valuescorrespond to the second color space, and wherein the third plurality ofcolor values are associated with the one or more measured color values;store the one or more measured color values in the memory; generate apredicted color value for each of the one or more measured color valuesby inputting each of the one or more measured color values into thefirst second-order or higher response-surface regression model, whereineach predicted color value corresponds to the first color space; andgenerate, based on the one or more predicted color values and the thirdplurality of color values, a second second-order or higherresponse-surface regression model that maps predicted color valuesoutput by the first second-order or higher response-surface regressionmodel corresponding to the first color space to color valuescorresponding to the first color space.

In another example, this disclosure describes an apparatus comprisingmeans for generating, based on a first plurality of color values and asecond plurality of color values, a first second-order or higherresponse-surface regression model that maps color values correspondingto the second color space to color values corresponding to the firstcolor space, wherein the first plurality of color values correspond to afirst color space and the second plurality of color values correspond toa second color space; means for receiving a third plurality of colorvalues, wherein the third plurality of color values correspond to thefirst color space; means for receiving one or more measured color valuescorresponding to one or more colors displayed by a first target display,wherein the one or more measured color values correspond to the secondcolor space, and wherein the third plurality of color values areassociated with the one or more measured color values; means forgenerating a predicted color value for each of the one or more measuredcolor values by inputting each of the one or more measured color valuesinto the first second-order or higher response-surface regression model,wherein each predicted color value corresponds to the first color space;and means for generating, based on the one or more predicted colorvalues and the third plurality of color values, a second second-order orhigher response-surface regression model that maps predicted colorvalues output by the first second-order or higher response-surfaceregression model corresponding to the first color space to color valuescorresponding to the first color space.

In another example, this disclosure describes a non-transitorycomputer-readable storage medium having instructions stored thereonthat, when executed, cause one or more processors to generate, based ona first plurality of color values and a second plurality of colorvalues, a first second-order or higher response-surface regression modelthat maps color values corresponding to the second color space to colorvalues corresponding to the first color space, wherein the firstplurality of color values correspond to a first color space and thesecond plurality of color values correspond to a second color space;receive a third plurality of color values, wherein the third pluralityof color values correspond to the first color space; receive one or moremeasured color values corresponding to one or more colors displayed by afirst target display, wherein the one or more measured color valuescorrespond to the second color space, and wherein the third plurality ofcolor values are associated with the one or more measured color values;generate a predicted color value for each of the one or more measuredcolor values by inputting each of the one or more measured color valuesinto the first second-order or higher response-surface regression model,wherein each predicted color value corresponds to the first color space;and generate, based on the one or more predicted color values and thethird plurality of color values, a second second-order or higherresponse-surface regression model that maps predicted color valuesoutput by the first second-order or higher response-surface regressionmodel corresponding to the first color space to color valuescorresponding to the first color space.

The details of one or more examples of the disclosure are set forth inthe accompanying drawings and the description below. Other features,objects, and advantages of the disclosure will be apparent from thedescription and drawings, and from the claims.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram illustrating an example display calibrationsystem that may be used to implement the display calibration andadjustment techniques of this disclosure.

FIG. 2 is a block diagram illustrating an example display calibrationdevice that may be used in the example display calibration system ofFIG. 1.

FIG. 3 is a flow diagram illustrating an example display calibration andadjustment technique according to this disclosure.

FIG. 4A is a flow diagram illustrating an example display calibrationand adjustment technique for white point calibration according to thisdisclosure.

FIG. 4B is a flow diagram illustrating an example display calibrationand adjustment technique for gamut mapping according to this disclosure.

FIG. 4C is a flow diagram illustrating an example display calibrationand adjustment technique for gamut mapping according to this disclosure.

FIG. 4D is a flow diagram illustrating an example display calibrationand adjustment technique for gamut mapping according to this disclosure.

FIG. 5 is an exemplary matrix to perform RGB to XYZ modeling for anexemplary display device according to this disclosure.

FIG. 6 is a flow diagram illustrating an example display calibration andadjustment technique according to this disclosure.

FIG. 7 is a flow diagram illustrating an example display calibration andadjustment technique according to this disclosure.

FIG. 8 is a flow diagram illustrating an example display calibration andadjustment technique according to this disclosure.

DETAILED DESCRIPTION

This disclosure describes techniques for calibrating and adjusting adisplay. For example, this disclosure describes techniques forcalibrating and adjusting a display by enabling the adjustment (e.g.,modification) of one or more color values of an image before the imageis presented on the display. As another example, this disclosuredescribes techniques for calibrating and adjusting the white point of adisplay (e.g., an organic light-emitting diode (OLED) display). Asanother example, this disclosure describes techniques for calibratingand adjusting the white point of a display to match or otherwise becloser to a target white point. In such an example, the target whitepoint may be defined by a specification, defined by a user, or by themeasured performance of a display (e.g., measuring the white point of adisplay using, for example, a colorimeter). Different target whitepoints for a display may exhibit different levels of luminance lossand/or tint. A display calibration device may allow a user or devicemanufacturer to select different white points to achieve differentlevels of luminance loss and/or tint, but changing the white point maychange the perceived color of the white point.

The target white point for a display may refer to a displayed color thatis defined to correspond to white in an image that is displayed by thedisplay. In general, target white points that may be used for a displaymay vary from cooler whites (e.g., “bluish whites”) to warmer whites(e.g., “yellowish whites”). Different target white points may result indifferent levels of color accuracy in an image reproduced by thedisplay. The best white point to use for a display may be dependent uponthe particular image to be displayed and/or upon the desires of themanufacturer and/or end user. The best white point to use may also bedependent on external factors such as illumination conditions.

As another example, this disclosure describes techniques for gamutmapping to a color space standard (e.g., the sRGB standard) for adisplay (e.g., an OLED display). In some examples, as used herein, theterms standard, color standard, specification, color specification,color space specification, and color space standard may refer to a colorspecification, such as sRGB, scRGB, Adobe RGB, Adobe Wide Gamut RGB,ProPhoto RGB, CIE XYZ, ITU-R Recommendation BT.2020 (commonly referredto as Rec. 2020 or BT.2020), or any other color specification (whether aformally adopted by a standard setting organization or not).

In some examples, as used herein, the term color space may refer to oneor more color channels, where each channel may be represented by one ormore values. In some examples, the one or more values may refer tochromaticity values, luminance values, color values, any other valueused to define or otherwise represent a channel, or any combinationthereof. For example, the RGB color space includes the Red channel, theGreen channel, and the Blue channel. Therefore, a value corresponding tothe RGB color space may correspond to the R, G, or B channel. Similarly,the CIE XYZ color space (or, more simply, the XYZ color space) includesthe X channel, the Y channel, and the Z channel. Therefore, a valuecorresponding to the XYZ color space may correspond to the X, Y, or Zchannel. As yet another example, the CIE xyY color space (or, moresimply, the xyY color space) includes the x channel, the y channel, andthe Y channel. Therefore, a value corresponding to the xyY color spacemay correspond to the x, y, or Y channel.

As another example, both the sRGB and scRGB color specifications definethe RGB color space relative to a CIE 1931 xy chromaticity diagram. Inthe example of the RGB color space, the RGB color space includes threecolor channels: Red, Green, and Blue. Each of the R, G, and B channelsmay be represented by one or more values. For example, each of the R, G,and B channels may be represented by one or more chromaticity values(e.g., CIE xyY or CIE XYZ values). For example, each of the R, G, and Bchannels may be defined as a combination of x, y, and Y values, or as acombination of X, Y, and Z values. As another example, each of the R, G,and B channels may be represented by an N-bit value, where N is 1 ormore bits. For example, each of the R, G, and B channels may berepresented by an 8-bit value (e.g., a value ranging from 0-255), a10-bit value (e.g., a value ranging from 0-1023), an 11-bit value (e.g.,a value ranging from 0-2047), or a 12-bit value (e.g., a value rangingfrom 0-4095). Accordingly, in view of these examples, it is understoodthat the one or more color channels may refer to one or more primarycolor channels, or one or more channels even if not technicallyconsidered a color (e.g., the luminance channel Yin the CIE xyY colorspace). It is also similarly understood that each of the one or morevalues corresponding to each channel in a color space may be representedby an N-bit value, where N is 1 or more bits. For example, in a three orfour channel color space, each channel may be represented by an 8-bitvalue (e.g., a value ranging from 0-255), a 10-bit value (e.g., a valueranging from 0-1023), an 11-bit value (e.g., a value ranging from0-2047), or a 12-bit value (e.g., a value ranging from 0-4095).

As used herein, a color specification may map or otherwise relate afirst color space to a second color space (and vice versa). For example,a color specification may map one or more values of a first color spaceto one or more values of a second color space (and vice versa). The useof “to” in the previous sentences of this paragraph does not imply thatthe mapping is one way. Rather, a color specification may map orotherwise relate two color spaces such that one or more values of afirst color space may be converted to one or more values of a secondcolor space, and/or one or more values of the second color space may beconverted to one or more values of the first color space using the colorspecification. For example, the sRGB color specification maps the RGBcolor space to the CIE xyY (where x and y are chromaticity coordinatevalues and Y is a luminance value) color space or the CIE XYZ (where X,Y, and Z are tristimulus values) color space. For example, using thesRGB color specification, one could determine RGB values in the RGBcolor space corresponding to CIE xyY or CIE XYZ values respectively inthe CIE xYZ or CIE XYZ color spaces. Similarly, using the sRGB colorspecification, one could determine CIE xyY or CIE XYZ valuesrespectively in the CIE xYZ or CIE XYZ color spaces corresponding to RGBvalues in the RGB color space.

As another example, this disclosure describes techniques for gamutmapping a first display based on the performance of a second display,where the second display may or may not conform to a colorspecification. In such an example, the techniques described herein mayenable making the first display present colors in the same manner as thesecond display, or, for example, enable making the first display presentcolors in a manner such that the presented colors look more like thegamut of the second display.

In general, the RGB color space is an additive color space in which red,green, and blue values (the three additive primary colors in this colorspace) may be added together in various ways to reproduce a broad rangeof colors. As indicated above, red, green, and blue may each be referredto as a channel (e.g., the red channel, green channel, and bluechannel). The entire range of available colors may be referred to as thegamut (or color gamut). Zero intensity for each component gives thedarkest color (e.g., no light or representing no light, which may beconsidered the black), and full intensity of each R, G, and B channelmay correspond to a white. For example, in an 8-bit implementation eachthe value corresponding to each R, G, and B channel may range from0-255. In this 8-bit example, (0, 0, 0) may correspond to a black and(255, 255, 255) may correspond to a white, (255, 0, 0) may correspond toa red, (0, 255, 0) may correspond to a green, and (0, 0, 255) maycorrespond to a blue. The quality of white (and other colors) depends onthe nature of the primary light sources (e.g., the combination of R, G,and B values), but if they are properly balanced, the result is a whitepoint matching the white point of the display on which the R, G, and Bvalues are destined to be displayed on.

The RGB color space may be defined by a plurality of colorspecifications. Generally, each RGB color specification (e.g., sRGB,scRGB, Adobe RGB, Adobe Wide Gamut RGB, ProPhoto RGB, and Rec. 2020) hasa different gamut due to how the chromaticities of the red, green, andblue primaries are defined along with the white point. For example, thesRGB color specification specifies the chromaticities of the red, green,and blue primaries (and therefore the gamut), white point, and gamma fora display in a particular way different from how the scRGB color spacespecifies the chromaticities of the red, green, and blue primaries (andtherefore the gamut), white point, and gamma. While various examplesdescribed herein may refer to the sRGB color specification, it isunderstood that such examples (and other non-sRGB color specificationexamples) may apply to any other color specification. Similarly, whilevarious examples described herein may refer to the RGB color space, itis understood that such examples (and other non-RGB color spaceexamples) may apply to any other color space.

A color specification may define a white point in a particular colorspace. For example, a color specification may define a white pointaccording to a combination of red, green, and blue chromaticities. Insome examples, this disclosure describes techniques for calibrating andadjusting the white point of a display. For example, while a display maybe configured to conform to a color specification (e.g., sRGB), thedisplay may be calibrated and adjusted to have a custom white point,meaning a white point that is different from the white defined by thecolor specification (e.g., sRGB). In other examples, this disclosuredescribes techniques for gamut mapping a display to a colorspecification (e.g., sRGB). For example, this disclosure describestechniques for mapping the gamut of a display to the gamut of a colorspecification. As another example, this disclosure describes techniquesfor configuring a display such that the gamut of the display maps asclosely as possible to the gamut of a color specification. As anotherexample, this disclosure describes techniques for generating asecond-order (or higher) response-surface regression model based onmeasured performance of a display, which may be used for gamut mappingan input corresponding to a first color specification (e.g., an sRGBinput) such that the input is adjusted to, as a few examples, (1)conform to a second color specification, (2) conform to (or closer to) aspecified white point when actually displayed by the display, (3),conform closer to the first color specification when actually displayedby the display. As another example, this disclosure describes techniquesfor generating a second-order (or higher) response-surface regressionmodel based on measured performance of a second display and a targetdisplay which may be used for gamut mapping a first display, where thesecond display may or may not conform to color specification. Forexample, the second display may not conform to a color standard (e.g.,an adopted color specification), but may conform to a private colorspecification (e.g., a color specification not adopted). As used herein,reference to gamut mapping any display may refer to adjusting one ormore values of one or more color channels corresponding to display data(e.g., an image).

As used herein, XYZ may stand for the International Commission onIllumination (CIE) 1931 Tristimulus values. These values may be measured“absolutely”, although often they may be used in a more relative sense,where they have been normalized such that Y=1 or Y=100. The x and ycolor coordinates may be calculated from them in the following manner:x=X/(X+Y+Z) and y=Y/(X+Y+Z). CIE XYZ is one example of a color spacethat encompasses all color sensations that an average person canexperience. CIE XYZ (tristimulus values) is a device invariant colorrepresentation. CIE XYZ may serve as a standard reference against whichmany other color spaces are defined. For example, CIE XYZ may serve as astandard reference against which many other color spaces are defined ina color specification (e.g., sRGB or any other color specification). Anycolor on the CIE chromaticity diagram can be considered to be a mixtureof the three CIE primaries: X, Y, and Z. The mixture of the three CIEprimaries may be specified by three numbers X, Y, Z called tristimulusvalues. The CIE primaries are not real colors, but convenientmathematical constructs.

OLED panels (e.g., also referred to as OLED displays), even after tuningby the manufacturer, may differ greatly from standard LCD panel models,particularly in having substantial channel-to-channel crosstalk, a muchwider gamut, and usually a bluer white point. At times, a manufacturer,end-user, or any user may like to calibrate a display's white point tosomething other than the native one, although unconcerned about standardtone scale or gamut. Similarly, the manufacturer, end-user, or any userwould like to calibrate a display's gamut so that an input correspondingto a particular color space (e.g., an RGB color space inputcorresponding to the sRGB color specification) displayed on a displaywith substantial channel-to-channel crosstalk is perceived as closely aspossible to the gamut of the sRGB color specification despite thesubstantial channel-to-channel crosstalk. Additionally, themanufacturer, end-user, or any user may like to calibrate a display'sgamut so that an input corresponding to a particular color space (e.g.,an RGB color space input corresponding to the sRGB color specification)displayed on a display with substantial channel-to-channel crosstalk isperceived as closely as possible to the gamut of a second display. Forexample, the second display may be a display that has a color outputthat is desirable to reproduce. Sometimes such a display is referred toas a “golden panel” or “golden display.” As used herein, the termsdisplay and panel may be interchangeable.

For an additive LCD display without substantial crosstalk, threemeasurements of the primary colors would be sufficient to calculatescaling factors to accomplish a white point calibration. For an OLEDpanel, this may not the case. While certain examples herein aredescribed as implementing one or more techniques described herein withrespect to a display having substantial channel-to-channel crosstalk, itis understood that one or more techniques of this disclosure may be usedwith any display. For example, even an LCD panel may includechannel-to-channel crosstalk between channels, albeit less than an OLEDdisplay. Accordingly, one or more techniques described herein may beimplemented with an LCD panel. It is also understood that one or moretechniques described herein may be used with any display, whether or notthe display includes any crosstalk between channels. In accordance withthe techniques of this disclosure, measurements made on a display (e.g.,an OLED panel) tuned by the manufacturer, end-user, or any user may beused to generate a model of the display. From this model, combined withthe desired white-point specification, the linear RGB values (e.g., RGBvalues that are not compressed) for the desired white can be predicted.These RGB values may dictate the linear scaling factors that can be usedto calibrate the white point for the display. Because the requirementsfor the mapping may be multi-dimensional (new white point, maximumluminance, minimum power, etc.), trade-offs in performance may benecessary. Trade-offs can be controlled through choice of measurementsmade and used.

Certain displays, such as OLED panels, may demonstrate considerablechannel-to-channel (e.g. red-green-blue (RGB) channels) crosstalk due topixel-load dependency. That is, different intensities of output by onecolor channel may affect the output of the other color channels, oftenin a non-linear fashion. In the absence of crosstalk (and otherdepartures from additivity), panels may be modeled using an invertible3×3 RGB-to-XYZ matrix based on the primaries and native white point.Changing from the native white point (e.g., calibrating the white point)may be achieved by applying a 3×3 matrix, derived from measuring the RGBprimaries, to the RGB values. These RGB values may be “linear” valuesthat are not gamma-compressed. For OLED panels with crosstalk, thismethod of calibration may be ineffective.

In accordance with the techniques of this disclosure, a display (e.g.,an OLED display) may be modeled using a response-surface regressionmodel that may include second order or higher color value terms (e.g.,R, G, and B) in a color space corresponding to a color specification(e.g., sRGB). A second-order term refers to a term having at least twocolor components (e.g., R*G, G*B, or B*R) or the square of a singlecolor component (e.g., R*R, B*B, or G*G). A third-order term refers to aterm having at least three color components, whether the same ordifferent, such as R*G*B, R*R*B, B*B*G, R*R*R, and the like. The secondorder or higher response-surface regression model may better model thecross-talk between RGB channels in a display, such as an OLED display ora wide gamut LCD panel. For example, the second order or higherresponse-surface regression model may be used for calibrating andadjusting the white point of a display according to one or moretechniques described herein, and gamut mapping according to one or moretechniques described herein.

In some examples, the response-surface regression model (or any modeldescribed herein) may or may not be invertible. If not invertible, themodel may be generated for both first color space-to-second color spaceand second color space-to-first color space. For example, the model maybe generated for both RGB-to-XYZ and XYZ-to-RGB. In this example, theRGB-to-XYZ model maps color values corresponding to the RGB color spaceto color values corresponding to the XYZ color space, and the XYZ-to-RGBmodel (to the extent that the RGB-to-XYZ model is not invertible) mapscolor values corresponding to the XYZ color space to color valuescorresponding to the RGB color space. As described above, it isunderstood that the term color values with respect to the XYZ colorspace and other similar color spaces may not actually refer to colorvalues, but instead more simply values corresponding to each of thechannels. In this regard, it is understood that the terms “color values”and “channel values” may be used interchangeably. For example, use of“color values” necessarily includes reference to color values and/orchannel values. Similarly, use of “channel values” necessarily includesreference to color values and/or channel values.

In some examples, the model(s) may form the basis for predicting colorvalues in a desired color space (e.g., RGB values in the RGB colorspace). In some examples, the model(s) may form the basis for predictingcolor values in a desired color space corresponding to a colorspecification (e.g., RGB values corresponding to the sRGB colorspecification. For example, the model(s) may form the basis forpredicting color values in a desired color space (e.g., RGB values inthe RGB color space) for a desired white point. In some examples, thetechniques of this disclosure provide for different solutions to theprediction equations, allowing for optimizing important display factorssuch as display luminance (e.g., brightness) and/or display powerconsumption. Theoretically, the brightest color on a display is white,which is an additive value of R+G+B in the RGB color space. In OLEDdisplays, however, yellow (e.g., R+G) may be brighter (i.e., possessinga greater luminance). This may be used in calibration to optimizeluminance while obtaining a specified white point. For example, one ormore techniques of this disclosure include gamut mapping an OLED display(or any display) to have a bluer white point (e.g., a white pointapproaching blue, closer to blue, or actually blue) than would otherwiseexist absent implementing the gamut mapping. For example, using one ormore techniques described herein, an OLED display may be gamut mapped sothat the OLED display exhibits a blue white point (or a bluer whitepoint) during operation instead of a yellow white point (or a yellowerwhite point).

Additionally, the choice of measurements (e.g., number of measurements)that are made may be selected to optimize the model while alsolimiting/optimizing the number of measurements needed. More precisionprediction of white point may be desired and thus a greater number ofmeasurements may be taken. However, greater precision may utilize agrowth (e.g., an accelerating growth, such as an exponential growth) inthe number of measurements required. Because of this, the number ofmeasurements may be minimized for speed and simplicity of calibration.

In some examples, the techniques for calibrating and adjusting the whitepoint of a display may, for each of one or more of the candidate whitepoints, provide (e.g., via a user interface) information indicative ofexpected luminance loss characteristics associated with the respectivecandidate white point and/or information indicative of tintcharacteristics associated with the respective candidate white point.Providing information indicative of luminance loss characteristicsand/or tint characteristics associated with candidate white points mayallow a user to evaluate the trade-offs between different luminance losscharacteristics and/or tint characteristics associated with differentwhite points.

FIG. 1 is a block diagram illustrating an example display calibrationsystem 10 that may be used to implement the display calibration andadjustment techniques of this disclosure. Display calibration system 10may include a display device 12, a display calibration device 14, andone or more target displays (e.g., target display 21 and target display23). As used herein, display calibration device 14 may be referred to asa calibration device, a calibration tool, a display calibration tool, atool, a device, and the like.

Display device 12 may be any device (e.g., computing device) thatincludes a display. For example, display device 12 may be a wirelesscommunication device, a wireless handset (such as, e.g., a mobile phone,examples of which include a cellular or satellite radio telephone, or asmartphone), a personal digital assistant (PDA), a laptop or desktopcomputer, a digital television, a tablet computer, a digital camera, avideo camera, a digital media player, a video game console, a videogaming device, a video conferencing unit, etc. Display device 12includes a processor 16, a memory 18, and a display 20.

Processor 16 may be configured to process images that are stored inmemory 18 or received from another processor, and cause display 20 todisplay the processed images. Processor 16 may include one or moreprocessors. In some examples, processor 16 may be a display processor,such as, e.g., a Mobile Display Processor (MDP). In further examples,processor 16 may be a central processing unit (CPU), a graphicsprocessing unit (GPU), an image processor, a digital signal processor(DSP), a general purpose microprocessor, an application specificintegrated circuit (ASIC), a field programmable logic array (FPGA), acombination of any of the foregoing devices, or other integrated ordiscrete logic circuitry. Processor 16 may be communicatively coupled toone or both of memory 18 and display 20. While FIG. 1 depicts processor16, it is understood that display device 12 may include a CPU, GPU,and/or a display processing unit. Processor 16 conceptually depicts anyprocessor or combination of processors.

Memory 18 may store image data to be displayed on display 20. Memory 18may, in some examples, store processed image data that has beenprocessed by processor 16. Memory 18 may include one or more volatile ornon-volatile memories or storage devices, such as, for example, randomaccess memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), read-onlymemory (ROM), erasable programmable ROM (EPROM), electrically erasableprogrammable ROM (EEPROM), Flash memory, a magnetic data medium or anoptical storage medium. Memory 18 may, in some examples, be anon-transitory computer-readable storage medium.

Display 20 may display one or more images (e.g., display data output bya processor of display device 12, such as processor 16). Display 20 maybe any type of display including, for example, an OLED display, a liquidcrystal display (LCD), a plasma display, or another type of display. Thecalibration techniques of this disclosure may be used with an OLEDdisplay or any other display that does or does not demonstrate anon-linear response due to channel crosstalk or due to other reasons.Display 20 may include a plurality of pixels that display 20 illuminatesto display the one or more images. Each pixel may include one or morecolor channels. For example, each pixel may include RGB color channels,meaning that each pixel in this example illuminates according to RGBvalues corresponding to each color channel.

Target display 21 may or may not be associated with a correspondingdevice. Similarly, target display 23 may or may not be associated with acorresponding device. Target displays 21 and 23 may display one or moreimages (e.g., display data output by a processor of display device 12such as processor 16, or display data output by display calibrationdevice 14. In some examples, as used herein, the term “target display”may refer to a display being the same as display 20, but physicallydifferent from display 20 (meaning that the target display and display20 are not a single display; rather, the target display is one displaythat may be of the same model or make as display 20, which is anotherphysical display). For example, the target display may have at least oneof a part number, model number, batch number, or identification numberin common with the display 20. In some examples, the term “targetdisplay” may refer to the same physical display as display 20.Accordingly, target display 21 may refer to a display being the same asdisplay 20 (at least with respect to at least one of a part number,model number, batch number, or identification number), but physicallydifferent from display 20. For example, target display 21 may have atleast one of a part number, model number, batch number, oridentification number in common with the display 20.

In other examples, as used herein, the term “target display” may referto a physically different display from display 20 and that is not of thesame model or make of display 20. For example, the target display maynot have any part number, model number, batch number, or identificationnumber in common with the display 20. Accordingly, target display 23 mayrefer to a display that is different from display 20. For example,target display 23 may be designed, manufactured, offered for sale,and/or sold by a first company, and display 20 may be designed,manufactured, offered for sale, and/or sold by a second company. Forexample, target display 23 may not have any part number, model number,batch number, or identification number in common with the display 20. Insome examples, a target display with such attributes (i.e., a displaynot having any part number, model number, batch number, oridentification number in common with the display 20) may be described orotherwise referred to herein as a “golden panel” or “golden display.”For example, target display 23 may be referred to as golden display 23.

Target display 21 and/or target display 23 may be any type of displayincluding, for example, an OLED display, a liquid crystal display (LCD),a plasma display, or another type of display. The calibration techniquesof this disclosure may be used with an OLED display or any other displaythat does or does not demonstrate a non-linear response due to channelcrosstalk or due to other reasons. Target display 21 and/or targetdisplay 23 may include a plurality of pixels that display 20 illuminatesto display the one or more images.

In some examples, display calibration device 14 may be configured tocalibrate and/or adjust display 20 of display device 12. For example,display calibration device 14 may be configured to calibrate and/oradjust a white point of display 20 of display device 12 according to oneor more of the display calibration and adjustment techniques describedin this disclosure. For example, display calibration device 14 may beconfigured to calibrate and/or adjust display 20 of display device 12 byenabling display 20 and/or display device 12 to adjust display datadestined for display by display 20 to achieve a different white point(e.g., a specified white point) than would otherwise be displayed absentcalibration and/or adjustment according to one or more of the displaycalibration and adjustment techniques described in this disclosure.Display calibration device 14 may include one or more processors thatare configured to perform all or part of one or more of the displaycalibration and adjustment techniques described in this disclosure. Insome examples, one or more techniques described in this disclosure maybe implemented using one or more display calibration devices 14.

In other examples, display calibration device 14 may be configured tocalibrate and/or adjust display 20 of display device 12. For example,display calibration device 14 may be configured to calibrate and/oradjust the gamut (e.g., the perceived gamut) of display 20 of displaydevice 12 according to one or more of the display calibration andadjustment techniques described in this disclosure. For example, displaycalibration device 14 may be configured to calibrate and/or adjust thegamut (e.g., the perceived gamut) of display 20 of display device 12based on measured performance of a target display (e.g., target display21) according to one or more of the display calibration and adjustmenttechniques described in this disclosure. For example, displaycalibration device 14 may be configured to calibrate and/or adjustdisplay 20 of display device 12 by enabling display 20 and/or displaydevice 12 to adjust display data destined for display by display 20 toachieve a different and/or adjusted gamut than would otherwise bedisplayed absent calibration and/or adjustment according to one or moreof the display calibration and adjustment techniques described in thisdisclosure. The different or adjusted gamut may correspond to a gamutthat is specified by a color specification (e.g., sRGB). As anotherexample, display calibration device 14 may be configured to calibrateand/or adjust display 20 of display device 12 by enabling display 20and/or display device 12 to adjust display data destined for display bydisplay 20 to match, approach, or more closely resemble the gamut of aspecified color specification than would otherwise be displayed absentcalibration and/or adjustment according to one or more of the displaycalibration and adjustment techniques described in this disclosure.Display calibration device 14 may include one or more processors thatare configured to perform all or part of one or more of the techniquesdescribed in this disclosure relating to such examples.

In other examples, display calibration device 14 may be configured tocalibrate and/or adjust display 20 of display device 12. For example,display calibration device 14 may be configured to calibrate and/oradjust the gamut (e.g., the perceived gamut) of display 20 of displaydevice 12 based on measured performance of one or more target displays(e.g., target display 21 and/or target display 23) according to one ormore of the display calibration and adjustment techniques described inthis disclosure. For example, display calibration device 14 may beconfigured to calibrate and/or adjust display 20 of display device 12 byenabling display 20 and/or display device 12 to adjust display datadestined for display by display 20 to achieve a different and/oradjusted gamut than would otherwise be displayed absent calibrationand/or adjustment according to one or more of the display calibrationand adjustment techniques described in this disclosure.

As one example, the different or adjusted gamut may correspond to thegamut of at least one target display (e.g., target display 23). Asanother example, the different or adjusted gamut may be based onmeasured performance of one or more target displays (e.g., targetdisplay 21 and/or target display 23). As another example, displaycalibration device 14 may be configured to calibrate and/or adjustdisplay 20 of display device 12 by enabling display 20 and/or displaydevice 12 to adjust display data destined for display by display 20 tomatch, approach, or more closely resemble the gamut of a target display(e.g., target display 23) than would otherwise be displayed absentcalibration and/or adjustment according to one or more of the displaycalibration and adjustment techniques described in this disclosure.Display calibration device 14 may include one or more processors thatare configured to perform all or part of one or more of the techniquesdescribed in this disclosure relating to such examples.

In some examples, display calibration device 14 may include one or moreuser interfaces that are configured to interact with a user. Forexample, display calibration device 14 may include a display that isconfigured to display information related to the calibration andadjustment of display 20, e.g., in a textual and/or graphical form. Thegraphical form, such as a slider described herein, may be particularlyuseful to allow for user-friendly adjustments in the calibrationprocess. As another example, display calibration device 14 may utilizedisplay 20 as a user interface to display information related to thecalibration and adjustment of display 20.

As a further example, the user interfaces of display calibration device14 may include one or more user input devices that allow a user toprovide input to display calibration device 14. Example user inputdevices include a keyboard, a mouse, a trackball, a microphone, a touchpad, a touch-sensitive or presence-sensitive display, or another inputdevice. In examples where a touch-sensitive or presence-sensitivedisplay is used as a user input device, the display may be integratedwith the display of display calibration device 14 that is used todisplay information related to the calibration and adjustment of display20.

FIG. 2 is a block diagram illustrating an example display calibrationdevice 14 that may be used in the example display calibration system 10of FIG. 1. Display calibration device 14 includes a processor 22, amemory 24, a display 26, one or more user input devices 28, acolorimeter 30, and a display device interface 32. In other examples,colorimeter 30 may be separate and distinct from calibration device 14.For example, calibration device 14 may not include colorimeter 30. Asanother example, a device other than calibration device 14 may includeor otherwise be colorimeter 30.

Processor 22 may be configured to perform one or more displaycalibration and/or adjustment algorithms, and to calibrate a display viadisplay device interface 32 based on the results of the displaycalibration and/or adjustment algorithms. In some examples, processor 22may be a central processing unit (CPU), a general purposemicroprocessor, an application specific integrated circuit (ASIC), afield programmable logic array (FPGA), a combination of any of theforegoing devices, or other integrated or discrete logic circuitry.Processor 22 may be communicatively coupled to one or more of memory 24,display 26, user input devices 28, colorimeter 30 and display deviceinterface 32.

Memory 24 may store program code to implement one or more displaycalibration and/or adjustment algorithms. Memory 24 may also storecalibration data associated with the display calibration and/oradjustment algorithms. Memory 24 may include one or more volatile ornon-volatile memories or storage devices, such as, for example, randomaccess memory (RAM), static RAM (SRAM), dynamic RAM (DRAM), read-onlymemory (ROM), erasable programmable ROM (EPROM), electrically erasableprogrammable ROM (EEPROM), Flash memory, a magnetic data medium or anoptical storage medium. Memory 24 may, in some examples, be anon-transitory computer-readable storage medium.

Display 26 may display one or more images (e.g., processed images thatare processed by processor 22). Display 26 may be any type of displayincluding, for example, a liquid crystal display (LCD), an organiclight-emitting diode display (OLED), a cathode ray tube (CRT) display, aplasma display, or another type of display device.

User input devices 28 may include one or more user input devices thatallow a user to provide input to display calibration device 14. Exampleuser input devices include a keyboard, a mouse, a trackball, amicrophone, a touch pad, a touch-sensitive or presence-sensitivedisplay, or another input device. In examples where a touch-sensitive orpresence-sensitive display is used as one of user input devices 28, theuser input device may be integrated with display 26 to displayinformation related to the calibration and adjustment of another display(e.g., display device 12).

In further examples, processor 22 may display information related to thecalibration and adjustment of another display (e.g., display device 12)on the display itself (e.g., display 20 of display device 12). In suchexamples, processor 22 may use display device interface 32 tocommunicate with display device 12 to display the calibrationinformation.

Colorimeter 30 may perform native white point measurements on a display(e.g., display 20 of display device 12). Processor 22 may use the nativewhite point measurements to determine one or both of luminance loss andtint associated with candidate white points. Colorimeter 30 may, forexample be any of a colorimeter, photometer, spectrophotometer, or otherdevice configured to measure the light emitted by the display. In someexamples, colorimeter 30 may be separate from display calibration device14. In such an example, the output of colorimeter 30 may be madeavailable to display calibration device 14 in order to perform thetechniques of this disclosure.

Display device interface 32 may provide a communication interfacebetween display calibration device 14 and display device 12. Displaydevice interface 32 may be any type of wired or wireless interface, andthe communication protocol may be any type of communication protocol.

FIG. 3 illustrates an example display calibration and adjustmenttechnique according to this disclosure. Method 300 may be performed bydisplay calibration device 14 to perform display calibration on displaydevice 12. In one example, display device 12 may include display 20. Oneor more image tests may be sent from the calibration device 14 to atarget display (302). In some examples, the target display may includetarget display 21. The one or more image tests may include a display ofa single color per test or, alternatively, include a more complexmulti-colored test pattern. The colors tested may be samples that areclose to and/or actually constitute a specified white point. In responseto receiving the test patterns, the target display (e.g., target display21) may display the one or more image tests received from displaycalibration device 14. It is understood that while FIG. 3 may bedescribed below with respect to particular color space and colorspecification examples, the example of FIG. 3 may be abstracted to applyto any color space(s) and/or color specification(s).

Display calibration device 14 may measure the displayed one or moreimage tests displayed by the target device (e.g., target display 21)(304), which may result in one or more measured values. For example, theone or more measured values may be XYZ values. In one example, themeasurement is taken from the center of the target display (e.g., targetdisplay 21). In one example, the number of measurements is greater thanor equal to 27. In one example, the number of measurements is a perfectcube (e.g., 8, 27, and 64). The testing of the color displayed by thetarget display (e.g., target display 21) may utilize colorimeter 30 ofdisplay calibration device 14. Display calibration device 14 maydetermine the equivalent XYZ color values corresponding to the colorvalues displayed by display device 12.

Display calibration device 14 may linearize the input display data(e.g., the one or more image tests) to correct (e.g. remove) gammacompression for each of the one or more image tests (306). In someexamples, gamma compressed data includes luminance or tristimulus valuesthat are encoded according to a non-linear operation. In such examples,gamma compressed data (e.g., a gamma compressed image) may be considerednon-linear. For example, an image, such as one or more image tests, maybe defined by R′G′B′ values (e.g., gamma compressed RGB values), and maybe decoded to remove the non-linearity. In the R′G′B′ example, R′G′B′values may be decoded resulting in linear RGB values. The linear RGBvalues in this example may be referred to as actual RGB values sincethey correspond to display data derived from the image(s) (e.g., one ormore image tests) destined for display by the target display (e.g.,target display 21).

Display calibration device 14 may model a mapping (e.g., a relationship)between one or more color values corresponding to the input of displaydata (e.g., one or more color values of one or more color testscorresponding to a first color space (e.g., RGB) and one or moremeasured color values corresponding to a second color space (e.g., XYZ)(308). For example, display calibration device 14 may be configured touse the one or more linearized color values corresponding to the one ormore image tests. This model may constitute a polynomial colorcorrection analytical model response-surface regression, and may includea plurality of coefficients for one or more second order or higherterms. This model may be referred to as a polynomial color correction(PCC) model. It is understood that the term PCC may be loosely usedthroughout this disclosure to refer to a color correction model (e.g.,where the input and the output are in the same color space) or a colormodel (e.g., where the input and the output are in different colorspaces). For example, the PCC model may include coefficients for each ofred, green, and blue channels via the creation of a matrix. The matrixmay include, for example, a 3×8 or 3×11 matrix. The matrix values maycorrespond to coefficients in the PCC model. The PCC model may be usedto convert values of a first color space (e.g., RGB color values) tovalues of a second color space (e.g., XYZ color values). Similarly, thePCC model may additionally or alternatively be used to convert values ofthe second color space (e.g., XYZ color values) to values of the firstcolor space (e.g., RGB color values).

The PCC model may include terms of multi-order (e.g., second or thirdorder). Variables (e.g., terms) other than white point alone may befactored into this model. For example, the minimization of luminance(e.g. brightness) loss or power efficiency compared to the native whitepoint of the display can be factored into the model. For example, if themodel is used to minimize power consumption, the display of bluer lightmay require more power use and so blue loss may be relaxed (e.g.,allowed to waiver 5% from a more exact white point calibration) in themodel compared to a white point calibrated to a particular level. Inanother example, if the model is used to maximize luminance, but onecolor channel displays brighter than another, reducing that brightercolor may be relaxed by the model in order to allow for a white pointwith more luminance.

Display calibration device 14 may predict color values corresponding tothe first color space for a specified white point on display device 12using the model (310). For example, display calibration device 14 maypredict RGB values for a specified white point on display device 12using the model. As another example, using the model, a desired whitepoint specified by values of the second color space (e.g., XYZ values)may be input into the model to generate predicted RGB values based onthe model. For example, a specified white point may be specified by (Xs,Ys, and Zs), wherein Xs, Ys, and Zs respectively stand for the specifiedX value, the specified Y value, and the specified Z value. Thesepredicted RGB values may be linear (e.g., not gamma compressed values).Display calibration device 14 may determine one or more scaling factorsusing the predicted RGB values for use on display device 12 (312). Forexample, display calibration device 14 may be configured to store theone or more scaling factors on a memory (e.g., memory 18) of displaydevice 12.

In some examples, the scaling factors may be a ratio between a whitepoint (e.g., one white point in the 8-bit RGB color space includes (255,255, 255)) and predicted color values. The white point may be describedwith respect to a color space and/or a display. For example, the scalingfactors may be described as being a ratio between a white point of acolor space and/or display and predicted colors values. In an examplewhere the color space is RGB, the ratio may be defined as (predictedRGB/a white point (e.g., (255, 255, 255) in an 8-bit RGB color spaceexample)). For example, an RGB compressed input image may include anarea of pixels having 8-bit RGB values of (250, 180, 255) after havingbeen decoded. This area of pixels having RGB values of (250, 180, 255),which may correspond to a test pattern, may be displayed by a display(e.g., display 20 or a target display). Display calibration device 14may measure the display when displaying this area of pixels resulting inmeasured values for this area of pixels. As described above, themeasured values may correspond to measured XYZ values. In this example,after modeling the relationship between the input (e.g., the colorvalues displayed) and the output (e.g., the measured values),calibration device 14 may predict the RGB values for a calibrated whitepoint on display device 12 using the model by inputting desired XYZvalues into the model. Display calibration device 14 may be configuredto output predicted RGB values (e.g., RGB values that correspond to theXYZ values input into the model). In this example, the predicted RGBvalues may be (253, 180, 255). In this example, display calibrationdevice 14 may convert the predicted RGB values into scaling factors bytaking, for each channel, the predicted channel value and dividing it bythe actual RGB value. In this example, the scaling factor for the redchannel would be (253/255), the scaling factor for the green channelwould be (180/255), and the scaling factor for the blue channel would be(255/255). In some examples, the scaling factor for any channel may beequal to or less than one.

Display calibration device 14 may set the white point of display device12 based on the predicted RGB values (314). For example, displaycalibration device 14 may set the white point of display device 12 basedon the scaling factors derived from the predicted RGB values. The whitepoint of display device 12 may be set by loading the scaling factorsonto the display device 12. For example, display calibration device 14may store the scaling factors in memory 18. The scaling factors maycomprise a matrix of values corresponding to the polynomial colorcorrection (PCC) model. In such an example, the matrix may be N×N, whereN is the number of channels in the color space. For example, in the RGBcolor space, the matrix may be a 3×3 matrix with the principle diagonalincluding the scaling factors with the first row being defined as (redchannel scaling factor, 0, 0), the second row being defined as (0, greenchannel scaling factor, 0), and the third row being defined as (0, 0,blue scaling factor).

In other examples, a matrix may not be used. In such examples, whether amatrix is used or not, display device 12 may be configured to multiplyany color value (e.g., R, G, or B values) by the scaling factorcorresponding to the requisite channel. For example, red values aremultiplied by the red scaling factor. In examples where the input fordisplay includes compressed RGB values, display device 12 may firstremove the compression to generate linear RGB values, and then multiplythe linear RGB values by the corresponding scaling factor. The scaledRGB values are then output to display 20 of display device 12.

By adjusting the linear RGB values corresponding to the input in thismanner, a desired white point or gamut may be displayed by display 20. Aparticular white point (or gamut in other examples) may be determined bya user. The input of the user may be an x, y pair or as a standard whitepoint (e.g., D50 or D65). In some examples, a different PCC model may beused to model each different white point. For example, a first whitepoint and a second white point that are different from one another mayrespectively have a first PCC model and a second PCC model correspondingto the white point. In other examples, there may be multiple PCC modelsfor each particular white point, such as a power consumption PCC forD65, an accuracy PCC for D65, a lowest amount of luminance lost PCC forD65, and the like. Once input, the PCC may be determined from the whitepoint and then the PCC model is applied to the input of the user. Amatrix may be determined once the user has specified the white point.

FIG. 4A illustrates an example display calibration and adjustmenttechnique according to this disclosure. FIG. 4A includes a left side anda right side. As described in more detail below, the left side of FIG.4A illustrates the generation of a PCC model (referred to as the PCC) tomodel (e.g., map) the relationship between one or more color valuescorresponding to an input (e.g., one or more color values correspondingto a first color space, such as RGB, destined for display by a display)and one or more color values corresponding to an output (e.g., one ormore measured color values corresponding to a second color space, suchas XYZ) derived from measuring the output of the display on which theinput is displayed. In some examples, the input may correspond to one ormore color tests. In the example of FIG. 4A, display calibration device14 may be configured to predict values using the PCC that models theinput and the output. The predicted values may be used to generatescaling factors. The right side of FIG. 4A illustrates an example ofcolor management for a display for which the scaling factors are used toadjust the gamut of a display (e.g., display 20 of display device 12) toachieve a desired white point resulting in white point calibration ofthe display. For example, the right side of FIG. 4A illustrates anexample of color management for a display for which the scaling factorsare used to adjust one or more color values of display data (e.g., animage) destined for presentment by a display (e.g., display 20 ofdisplay device 12) to achieve a desired white point resulting in whitepoint calibration of the display.

Method 400 may be performed by display calibration device 14 to performdisplay calibration (e.g., white point calibration) on display device12. For example, one or more processes shown in FIG. 4A may be performedby display calibration device 14, and one or more processes shown inFIG. 4A may be performed by display device 12 and/or display 20 ofdisplay device 12 using data generated by display calibration device 14to calibrate one or more display features of display 20. For example,one or more processes of FIG. 4A may be performed by one or moreprocessors of one or more devices, such as one or more processors ofdisplay calibration device 14 and/or one or more processors of displaydevice 12 (including one or more processors of display device 12 and/ordisplay 20). In some examples, the left side may be performed by one ormore processors of display calibration device 14, and the right side maybe performed by one or more processors of display device 12. Forexample, the right side may be performed by one or more processors ofdisplay 20, one or more processors of display device 12 (e.g., a CPU ora display processor), and the like. In some examples, the one or moredisplay features may include white point. In other examples, the one ormore display features may include gamut mapping display 20 to conform toa color specification (e.g., sRGB).

In the example of FIG. 4A, display calibration device 14 may beconfigured to provide an input of display data to a target display(e.g., target display 21) to be modeled (402). In some examples, theinput of display data may include or otherwise be referred to as one ormore tests, image tests, color tests, training sets, or modeling sets.As used herein, the terms tests, image tests, color tests, trainingsets, and modeling sets are interchangeable. As used herein, a test,image test, color test, training set, and modeling set may refer to animage including one or more pixels with each pixel being defined by acolor value for each channel in a color space (e.g., the RGB colorspace). In some examples, each image test may include a single color ora plurality of colors. Each color in an image test may be represented byan area in the image. For example, one exemplary image test may be asingle rectangle of uniform color. In this example, the plurality ofcolor values corresponding to the single rectangle of uniform colorcorrespond to a plurality of pixels, each pixel having the same colorvalue for each channel (e.g., the same RGB values for each channel in anRGB color space example) since this example involves a single rectangleof uniform color. As another example, as used herein, an image test mayrefer to one or more colors presented in any area in combination and/orin one or more sequences. For example, an image test may comprise twoimages for presentment in sequence. The first image may include a singleshape of uniform color, and the second image may include a plurality ofshapes with each shape being uniform in color. The plurality of shapesmay be the same or different in color. In the example of FIG. 4A, one ormore image tests (e.g., input display data) may include colors that areclose to or otherwise constitute a white point (e.g., a desired whitepoint).

In some examples, an image test may include one or more images; and ifmore than one image, each image test may include a sequence images to bedisplayed in a particular order with each image being presented for thesame or different durations of time subject to the particular imagetest. In examples involving white point calibration, the one or morecolors in the one or more image tests may be colors that are close to orotherwise constitute a white point. As used herein, the terms the termstests, image tests, color tests, training sets, and modeling sets mayrefer to display data stored in a memory accessible by displaycalibration device 14 for input to a display for measurement thereof.

For example, display calibration device 14 may be configured to outputdisplay data (e.g., one or more image tests) to a target display (e.g.,target display 21). In this example, the display data output by displaycalibration device 14 constitutes an input of display data to a targetdisplay (e.g., target display 21). In some examples, the input ofdisplay data (or, more simply, input) may conform to a color space(e.g., RGB), which may conform to a color specification (e.g., sRGB). Insuch examples, the input may be linear or non-linear. For example, theinput may comprise linear RGB values or non-linear RGB values (e.g.,gamma compressed RGB values).

It is understood that providing an input to a target display (e.g.,target display 21) may include providing an input to a display device(e.g., display device 12) that is configured to process display data(e.g., the input provided by display calibration device 14) such thatthe input display data is presented on a display (e.g., display 20) ofthe display device. It is therefore also appreciated that displaycalibration device 14 may be configured to provide an input to displaydevice 12 for which display device 12 is configured to process such thatthe input received from display calibration device 14 is presented bydisplay 20 (or a display different from display 20 and/or a displayotherwise not associated with display device 12). In this example,display 20 may constitute the target display. It is understood that someexamples provided herein refer to target display 21. In view of thedefinition of target display 21 described herein, reference to targetdisplay 21 includes reference to a target display that may be display 20or may not be display 20. Therefore, while an example may be provided as“target display 21 or display 20,” such an example is included toenhance readability, but it is understood that reference to “targetdisplay 21” alone refers to a target display that may be display 20 ormay not be display 20.

Display calibration device 14 may be configured to measure the targetdisplay (404). For example, display calibration device 14 may beconfigured to measure the target display (e.g., target display 21 ordisplay 20 of display device 12) when displaying the input of displaydata. For example, display calibration device 14 may be configured tomeasure one or more color values displayed by the target display whendisplaying the input of display data. In some examples, the one or morecolor values may be measured using colorimeter 30. In other examples,the one or more color values may be measured using a colorimeter of adevice separate from display calibration device 14. In such examples,display calibration device 14 may be configured to receive one or moremeasured color values from colorimeter 30 or from the colorimeter of adevice separate from display calibration device 14.

In some examples, the one or more color measured color values may referto values corresponding to light measurement. In such examples, the oneor more measured color values may refer to values in the XYZ colorspace. For example, when the input is an R′G′B′ image test (meaning thatthe image test includes gamma compressed RGB values), displaycalibration device 14 may be configured to measure the color valuesdisplayed by the target display when the target display is displayingthe R′G′B′ image test. In some examples, any colorimeter (e.g.,colorimeter 30 of display calibration device 14 or a colorimeter of adifferent device) may be configured to measure the color values in theXYZ color space. It is therefore understood that the target display maybe configured to display input display data corresponding to a firstcolor space while one or more colors displayed by the target device aremeasured in a second color space. For example, the target display may beconfigured to display input display data output by display calibrationdevice 14 (or some other device) in a first color space while displaycalibration device 14 (or some other measuring device) may be configuredto measure the input display data presented by the target display in asecond color space. Similarly, it is understood that display calibrationdevice 14 may be configured to output display data in a first colorspace destined for presentment by the target display, and that displaycalibration device 14 may be configured to measure, in a second colorspace, color values presented by the target display when presenting theinput display data presented by the target display. As described herein,the colorimeter 30 of display calibration device 14 may be configured tomeasure displayed color values, and store the measured color values in amemory (e.g., memory 24 or a memory accessible by display calibrationdevice 14).

Display calibration device 14 may be configured to remove compression(e.g., gamma compression) when the input of display data is compressedto obtain uncompressed values corresponding to the input of display data(406). For example, when the input of display data is an R′G′B′ imagetest, display calibration device 14 may be configured to remove gammacompression to obtain linear RGB values corresponding to the non-linearR′G′B′ values of the R′G′B′ image test.

Display calibration device 14 may be configured to model a mapping(e.g., a relationship) between one or more color values corresponding tothe input of display data and one or more measured color values (408).For example, display calibration device 14 may be configured to model amapping between one or more linear color values in a first color space(e.g., RGB) and one or more measured color values in a second colorspace (e.g., XYZ). For example, display calibration device 14 may beconfigured to use one or more measured XYZ values derived from measuringthe target display (e.g., target display 21 or display 20) whiledisplaying an image test and linear RGB values corresponding to theimage test to model a mapping between linear RGB and XYZ values. Asanother example, display calibration device 14 may be configured to usecolor values measured in a first color space (e.g., XYZ) and colorvalues in a second color space (e.g., RGB) corresponding to the inputdisplay data to model a mapping between linear color valuescorresponding to the first color space and linear color valuescorresponding to the second color space. In some examples, the model mayinclude a polynomial color correction (PCC) response-surface model. Forexample, the model may include a 3×11 PCC response-surface model thatincludes eleven coefficients for each color channel in a three channelcolor space (forming a 3×11 matrix).

Display calibration device 14 may be configured to calculate orotherwise predict one or more color values for a specified white point(410). The specified white point may correspond to D65, D50, 8200degrees Kelvin on the Planckian locus, or any other white point definedby any color space and/or color specification. The specified white pointmay be specified in terms of one or more color values corresponding to acolor space. For example, if the specified white point is in the XYZcolor space, then the specified white point may be specified by aspecified X color value, a specified Y color value, and a specified Zcolor value. As another example, if the specified white point is in thexyY color space, then the specified white point may be specified by aspecified x color value, a specified y color value, and a specified Ycolor value.

For example, display calibration device 14 may be configured tocalculate or otherwise predict one or more color values corresponding tothe color space of the input display data for a specified white pointusing the model mapping the one or more measured color valuescorresponding to the second color space to the one or more color valuescorresponding to the first color space. In some examples, the secondcolor space may be XYZ and the first color space may be RGB. Thespecified white point may be defined in term of XYZ color values, whichmay be input into the model to generate predicted RGB valuescorresponding to the specified white point in terms RGB instead of XYZ.Otherwise described, referring to the example involving a model mappingRGB and XYZ values, the model maps actual color values displayed in theXYZ color space and correlates (e.g., maps) those actual color valuesinput for display in the RGB color space.

Display calibration device 14 may be configured to generate one or morescaling factors (412). In some examples, display calibration device 14may be configured to generate one or more scaling factors based on oneor more predicted color values and one or more color valuescorresponding to the input display data. The one or more color valuescorresponding to the input display data may include one or more linearcolor values corresponding to one or more non-linear color values of theinput display data.

Display calibration device 14 may be configured to provide (e.g.,transmit via a wired or wireless communication medium) the scalingfactors to display device 12 (414). The arrow between blocks 412 and 420also depicts that it is the scaling factors that enable color correction(e.g., polynomial color correction). Display device 12 may be configuredto store the scaling factors in a memory (e.g., memory 18). In someexamples, display calibration device 14 may be configured to store thescaling factors in a memory (e.g., memory 24). In some examples, scalingfactors may be referred to as color adjustment scaling factors, colorvalue adjustment scaling factors, color correction scaling factors,white point calibration scaling factors, gamut scaling factors, and thelike.

In some examples, the scaling factors may be a ratio between a whitepoint (e.g., one white point in the 8-bit RGB color space includes (255,255, 255)) and predicted color values. The white point may be describedwith respect to a color space and/or a display. For example, the scalingfactors may be described as being a ratio between a white point of acolor space and/or display and predicted colors values. In an examplewhere the color space is RGB, the ratio may be defined as (predictedRGB/a white point (e.g., (255, 255, 255) in an 8-bit RGB color spaceexample)). In some examples, the scaling factors may be a ratio betweenthe actual color values corresponding to the input display data (e.g., awhite in the input display data may correspond to (255,255,255) in an8-bit RGB color space example)) and the predicted color values. In suchexamples, the ratio may be defined as (predicted color value/a whitepoint). For example, an RGB compressed input image may include an areaof pixels having 8-bit RGB values of (255, 255, 255) after having beendecoded (e.g., after removing any gamma compression if gammacompressed). This area of pixels having RGB values of (255, 255, 255),which may correspond to an image test, may be displayed by the targetdisplay (e.g., target display 21). Display calibration device 14 maymeasure the target display (target display 21) when displaying this areaof pixels resulting in measured values for this area of pixels. Asdescribed above, the measured values may correspond to measured XYZvalues. In this example, after modeling the relationship between theinput (e.g., the color values displayed) and the output (e.g., themeasured values), calibration device 14 may predict the RGB values for acalibrated white point on display device 12 using the model by inputtingdesired XYZ values into the model. Display calibration device 14 may beconfigured to output predicted RGB values (e.g., RGB values thatcorrespond to the XYZ values input into the model). In this example, thepredicted RGB values may be (251, 240, 255). In this example, displaycalibration device 14 may convert the predicted RGB values into scalingfactors by taking, for each channel, the predicted channel value anddividing it by the actual RGB value. In this example, the scaling factorfor the red channel would be (251/255), the scaling factor for the greenchannel would be (240/255), and the scaling factor for the blue channelwould be (255/255). In some examples, the scaling factor for any channelmay be equal to or less than one.

Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may be configured to perform colorcorrection (e.g., polynomial color correction) using the scaling factors(420). For example, one or more processors of display device 12 may beconfigured to output display data for display by display 20 (416). Thedisplay data may be in the same color space as the input display datadisplayed by the target device (e.g., target display 21) and/or outputby display calibration device 14 for presentment by the target display.For example, if the model generated by display calibration device 14correlates linear RGB values corresponding to the input to measured XYZvalues measured by, for example, the colorimeter of display calibrationdevice 14 (or a colorimeter of another device), then the display data atblock 416 may be in the RGB color space. In such an example, the displaydata at block 416 may include uncompressed or compressed RGB colorvalues.

Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may perform input gamma correction(IGC) on display data destined for presentment by display 20 (418).Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may utilize the scaling factors toadjust one or more color values corresponding to the display data (e.g.,all color values corresponding to the display data) (420). Since thescaling factors in this example relate to adjusting the display data tocorrespond to a specified white point when displayed by display 20,display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may be configured to adjust thewhite point of the display data at block 420.

Since the adjustment to the one or more color values corresponding tothe display data at block 420 affects the entire image (i.e., in someexamples, display data may be referred to as an image), the color valuescorresponding to the display data not close to a white point (e.g., afully saturated primary color, such as red in an 8-bit RGB examplerepresented by (255, 0, 0)) are also adjusted based on the scalingfactors. However, the color adjustment enabled by the scaling factorsenables display 20 to present display data corresponding to a specifiedwhite point. Display device 12 and/or display 20 (e.g., one or moreprocessors of display device 12 and/or display 20) may perform panelgamma correction (PGC) on color corrected display data (422). Forexample, display device 12 and/or display 20 (e.g., one or moreprocessors of display device 12 and/or display 20) may be configured toperform PGC to code luminance or tristimulus values. As another example,display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may be configured to perform PGC tocompress RGB values of the image and/or other display data into R′G′B′values. Display 20 may then display images/video using the calibratedwhite point and the PGC to achieve the desired performance (424).

It is therefore understood that FIG. 4A and the examples discussed inrelation thereto present examples illustrating how display calibrationdevice 14 may be configured to calibrate and/or adjust display 20 ofdisplay device 12. For example, display calibration device 14 may beconfigured to calibrate and/or adjust a white point of display 20 ofdisplay device 12 according to one or more techniques described withrespect to FIG. 4A. For example, display calibration device 14 may beconfigured to calibrate and/or adjust display 20 of display device 12 byenabling display 20 and/or display device 12 to adjust display datadestined for display by display 20 to achieve a different white point(e.g., a specified white point) than would otherwise be displayed absentcalibration and/or adjustment according to one or more techniquesdescribed with respect to FIG. 4A.

FIG. 4B illustrates an example display calibration and adjustmenttechnique according to this disclosure. FIG. 4B includes a left side anda right side. As described in more detail below, the left side of FIG.4B illustrates the generation of a PCC model (referred to as the PCC orthe model) to model (e.g., map) the relationship between one or morecolor values corresponding to an input (e.g., one or more color valuescorresponding to a first color space (e.g., RGB) destined for display bya display) and one or more calculated color values (e.g., one or morecalculated color values corresponding to the first color space. In someexamples, the one or more calculated color values may be calculatedusing a color specification and one or more color measured color valuescorresponding to a second color space (e.g., XYZ). For example, the oneor more measured color values in the second color space may be inputinto the color specification to determine the corresponding one or morecolors in the first color space according to the color specification. Inthis example, the color specification may map or otherwise relate afirst color space to a second color space (and vice versa).

The right side of FIG. 4B illustrates an example of color management fora display for which the polynomial color correction (PCC) is used toadjust the gamut of a display (e.g., display 20 of display device 12) toachieve a desired gamut resulting in gamut mapping of the display. Insome examples, the desired gamut may be defined by a color specification(e.g., sRGB). The right side of FIG. 4B illustrates an example of colormanagement for a display for which the PCC is used to adjust one or morecolor values of display data (e.g., an image) destined for presentmentby a display (e.g., display 20 of display device 12) to achieve adesired (e.g., specified) gamut resulting in gamut mapping of thedisplay. In some examples of FIG. 4B, the desired gamut may be definedby sRGB, meaning that the method 430 may result in mapping the gamut ofdisplay 20 to sRGB based on performance of a target display (e.g.,target display 21) such that display data, when displayed by display 20,appears to or actually conforms to sRGB. For example, display data, whendisplayed by display 20, may more closely resemble the gamut of aspecified color specification than would otherwise be displayed absentcalibration and/or adjustment according to one or more of the displaycalibration and adjustment techniques described in this disclosure.

Method 430 may be performed by display calibration device 14 to performdisplay calibration (e.g., gamut mapping) of display data on displaydevice 12. For example, one or more processes shown in FIG. 4B may beperformed by display calibration device 14, and one or more processesshown in FIG. 4B may be performed by display device 12 and/or display 20of display device 12 using data generated by display calibration device14 to calibrate one or more display features of display 20. For example,one or more processes of FIG. 4B may be performed by one or moreprocessors of one or more devices, such as one or more processors ofdisplay calibration device 14 and/or one or more processors of displaydevice 12 (including one or more processors of display device 12 and/ordisplay 20). In some examples, the left side may be performed by one ormore processors of display calibration device 14, and the right side maybe performed by one or more processors of display device 12. Forexample, the right side may be performed by one or more processors ofdisplay 20, one or more processors of display device 12 (e.g., a CPU ora display processor), and the like. In some examples, the one or moredisplay features may include the gamut, such as gamut mapping display 20to conform to a color specification (e.g., sRGB).

In the example of FIG. 4B, display calibration device 14 may beconfigured to provide an input of display data to a target display(e.g., target display 21) to be modeled (432). In some examples, theinput of display data may include or otherwise be referred to as one ormore tests, image tests, color tests, training sets, or modeling sets asdescribed herein (e.g., throughout this disclosure).

For example, display calibration device 14 may be configured to outputdisplay data (e.g., one or more image tests) to a target display (e.g.,target display 21). In this example, the display data output by displaycalibration device 14 constitutes an input of display data to a targetdisplay (e.g., target display 21). In some examples, the input ofdisplay data (or, more simply, input) may conform to a color space(e.g., RGB), which may conform to a color specification (e.g., sRGB). Insuch examples, the input may be linear or non-linear. For example, theinput may comprise linear RGB values or non-linear RGB values (e.g.,gamma compressed RGB values).

It is understood that providing an input to a target display (e.g.,target display 21) may include providing an input to a display device(e.g., display device 12) that is configured to process display data(e.g., the input provided by display calibration device 14) such thatthe input display data is presented on a display (e.g., display 20) ofthe display device. It is therefore also appreciated that displaycalibration device 14 may be configured to provide an input to displaydevice 12 for which display device 12 is configured to process such thatthe input received from display calibration device 14 is presented bydisplay 20 (or a display different from display 20 and/or a displayotherwise not associated with display device 12). In this example,display 20 may constitute the target display. It is understood that someexamples provided herein refer to target display 21. In view of thedefinition of target display 21 described herein, reference to targetdisplay 21 includes reference to a target display that may be display 20or may not be display 20. Therefore, while an example may be provided as“target display 21 or display 20,” such an example is included toenhance readability, but it is understood that reference to “targetdisplay 21” alone refers to a target display that may be display 20 ormay not be display 20.

Display calibration device 14 may be configured to measure the targetdisplay (434). For example, display calibration device 14 may beconfigured to measure the target display (e.g., target display 21 ordisplay 20 of display device 12) when displaying the input of displaydata. For example, display calibration device 14 may be configured tomeasure one or more color values displayed by the target display whendisplaying the input of display data. In some examples, the one or morecolor values may be measured using colorimeter 30. In other examples,the one or more color values may be measured using a colorimeter of adevice separate from display calibration device 14. In such examples,display calibration device 14 may be configured to receive one or moremeasured color values from colorimeter 30 or from the colorimeter of adevice separate from display calibration device 14.

In some examples, the one or more color measured color values may referto values corresponding to light measurement. In such examples, the oneor more measured color values may refer to values in the XYZ colorspace. For example, when the input is an R′G′B′ image test (meaning thatthe image test includes gamma compressed RGB values), displaycalibration device 14 may be configured to measure the color valuesdisplayed by the target display when the target display is displayingthe R′G′B′ image test. In some examples, any colorimeter (e.g.,colorimeter 30 of display calibration device 14 or a colorimeter of adifferent device) may be configured to measure the color values in theXYZ color space. It is therefore understood that the target display maybe configured to display input display data corresponding to a firstcolor space while one or more colors displayed by the target device aremeasured in a second color space. For example, the target display may beconfigured to display input display data output by display calibrationdevice 14 (or some other device) in a first color space while displaycalibration device 14 (or some other measuring device) may be configuredto measure the input display data presented by the target display in asecond color space. Similarly, it is understood that display calibrationdevice 14 may be configured to output display data in a first colorspace destined for presentment by the target display, and that displaycalibration device 14 may be configured to measure, in a second colorspace, color values presented by the target display when presenting theinput display data presented by the target display. As described herein,the colorimeter 30 of display calibration device 14 may be configured tomeasure displayed color values, and store the measured color values in amemory (e.g., memory 24 or a memory accessible by display calibrationdevice 14).

Display calibration device 14 may be configured to normalize each of theone or more measured color values (436). For example, displaycalibration device 14 may be configured to normalize each of the one ormore measured color values by one or more measured values correspondingto a first channel. For example, in an example where the one or moremeasured color values correspond to the XYZ color space, the X, Y, and Zmeasured values may be normalized based on the Ys value (e.g., theluminance component of a specified white in the XYZ color space). Inthis example, display calibration device 14 may be configured todetermine the normalized X value by dividing the measured X value by theYs value. Similarly, display calibration device 14 may be configured todetermine the normalized Z value by dividing the measured Z value by theYs value. Display calibration device 14 may be configured to determinethe normalized Y value by dividing the measured Y value by the Ys value,which equals 1. In such an example, the normalized values for three setsof measured XYZ values (X1, Y1, Z1), (X2, Y2, Z2), and (X3, Y3, Z3) mayrespectively be calculated as (X1/Ys, Y1/Ys, Z1/Ys), (X2/Ys, Y2/Ys,Z2/Ys), and (X3/Ys, Y3/Ys, Z3/Ys).

Display calibration device 14 may be configured to remove compression(e.g., gamma compression) when the input of display data is compressedto obtain uncompressed values corresponding to the input of display data(438). For example, when the input of display data is an R′G′B′ imagetest, display calibration device 14 may be configured to remove gammacompression to obtain linear RGB values corresponding to the non-linearR′G′B′ values of the R′G′B′ image test.

Display calibration device 14 may be configured to calculate (e.g.,generate) one or more color values based on a color specification (440).In some examples, the one or more color values based on the colorspecification and one or more color values corresponding to the input ofdisplay data are in the same color space (e.g., a first color space).The color specification may map one or more color values of a secondcolor space to one or more color values of the first color space. Insuch examples, the first color space may correspond to the RGB colorspace, the second color space may correspond to the XYZ color space, andthe color specification may be sRGB. Display calibration device 14 maybe configured to use the color specification to convert one or moremeasured color values in the second color space to one or more colorvalues in the first color space. The one or more color values generatedas a result of this conversion may be referred to as the one or morecalculated color values. For example, display calibration device 14 maybe configured to convert one or more XYZ color values (e.g., one or moremeasured color values) to one or more RGB color values using sRGB thatmaps XYZ color values to RGB color values.

Display calibration device 14 may be configured to model a mapping(e.g., a relationship between the input display data and the measureddisplay data in the same color space (442). For example, displaycalibration device 14 may be configured to model a mapping (e.g., arelationship) between one or more color values corresponding to theinput display data in the first color space (e.g., RGB) and the one ormore calculated color values also in the first color space. In anexample where the first color space is RGB, the model maps RGB colorvalues to RGB color values. For example, an input of an RGB color valueinto the model results in an RGB value as an output.

In some examples, the model may include a polynomial color correction(PCC) response-surface model. In some examples, the model may include a3×11 PCC response-surface model that includes eleven coefficients foreach color channel in a three channel color space (forming a 3×11matrix). As another example, the model may include a 3×8 PCCresponse-surface model that includes eight coefficients for each of thecolor channels (forming a 3×8 matrix) in a three channel color space.

Display calibration device 14 may be configured to provide (e.g.,transmit via a wired or wireless communication medium) the model (e.g.,the model mapping color values in the first color space to calculatedcolor values in the first color space) to display device 12 (444). Thearrow between blocks 442 and 450 also depicts that it is the model thatenables color correction (e.g., polynomial color correction). Displaydevice 12 may be configured to store the model in a memory (e.g., memory18). In some examples, display calibration device 14 may be configuredto store the model in a memory (e.g., memory 24). In some examples, themodel may be referred to as a color adjustment model, color valueadjustment model, color correction model, gamut model, a PCC model, andthe like. The model may include second order or higher terms.

Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may be configured to perform colorcorrection (e.g., polynomial color correction) using the model (450).For example, one or more processors of display device 12 may beconfigured to output display data for display by display 20 (446). Thedisplay data may be in the same color space as the input display datadisplayed by the target device (e.g., target display 21) and/or outputby display calibration device 14 for presentment by the target display.For example, if the model generated by display calibration device 14correlates (e.g., maps) linear RGB values corresponding to the input tocalculated linear RGB values, then the display data at block 446 may bein the RGB color space. In such an example, the display data at block446 may include uncompressed or compressed RGB color values.

Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may perform input gamma correction(IGC) on display data destined for presentment by display 20 (448).Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may utilize the model to adjust oneor more color values corresponding to the display data (e.g., all colorvalues corresponding to the display data) (450). For example, for eachcolor value of a color channel input into the model, an adjusted colorvalue is output or otherwise generated. The adjusted color valuescorresponding to the display data may be referred to as color correcteddisplay data.

Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may perform panel gamma correction(PGC) on color corrected display data (452). For example, display device12 and/or display 20 (e.g., one or more processors of display device 12and/or display 20) may be configured to perform PGC to code luminance ortristimulus values. As another example, display device 12 and/or display20 (e.g., one or more processors of display device 12 and/or display 20)may be configured to perform PGC to compress RGB values of the imageand/or other display data into R′G′B′ values. Display 20 may thendisplay images/video using the color corrected display data that hasbeen panel gamma corrected (454). The color corrected display dataand/or the corrected display data that has been panel gamma correctedmay also be referred to as a gamut mapped or gamut adjusted displaydata.

It is therefore understood that FIG. 4B and the examples discussed inrelation thereto present examples illustrating how display calibrationdevice 14 may be configured to calibrate and/or adjust display 20 ofdisplay device 12. For example, display calibration device 14 may beconfigured to calibrate and/or adjust the gamut (e.g., the perceivedgamut) of display 20 of display device 12 according to one or moretechniques described with respect to FIG. 4B. For example, displaycalibration device 14 may be configured to calibrate and/or adjust thegamut (e.g., the perceived gamut) of display 20 of display device 12based on measured performance of a target display (e.g., target display21) according to one or more techniques described with respect to FIG.4B. For example, display calibration device 14 may be configured tocalibrate and/or adjust display 20 of display device 12 by enablingdisplay 20 and/or display device 12 to adjust display data destined fordisplay by display 20 to achieve a different and/or adjusted gamut thanwould otherwise be displayed absent calibration and/or adjustmentaccording to one or more techniques described with respect to FIG. 4B.The different or adjusted gamut may correspond to a gamut that isspecified by a color specification (e.g., sRGB). As another example,display calibration device 14 may be configured to calibrate and/oradjust display 20 of display device 12 by enabling display 20 and/ordisplay device 12 to adjust display data destined for display by display20 to match, approach, or more closely resemble the gamut of a specifiedcolor specification than would otherwise be displayed absent calibrationand/or adjustment according to one or more techniques described withrespect to FIG. 4B.

FIG. 4C illustrates an example display calibration and adjustmenttechnique according to this disclosure. FIG. 4C includes a left side anda right side. As described in more detail below, the left side of FIG.4C illustrates the generation of a PCC model (referred to as the PCC orthe model) to model (e.g., map) the relationship between one or morecolor values corresponding to an input (e.g., one or more color valuescorresponding to a first color space (e.g., RGB) destined for display bya display) and one or more calculated color values (e.g., one or morecalculated color values corresponding to the first color space. In someexamples, the one or more calculated color values may be calculatedusing a color specification and one or more color measured color valuescorresponding to a second color space (e.g., XYZ). For example, the oneor more measured color values in the second color space may be inputinto the color specification to determine the corresponding one or morecolors in the first color space according to the color specification. Inthis example, the color specification may map or otherwise relate afirst color space to a second color space (and vice versa).

The right side of FIG. 4C illustrates an example of color management fora display for which the polynomial color correction (PCC) is used toadjust the gamut of a display (e.g., display 20 of display device 12) toachieve a desired gamut resulting in gamut mapping of the display. Insome examples, the desired gamut may be defined by a color specification(e.g., sRGB). The right side of FIG. 4C illustrates an example of colormanagement for a display for which the PCC is used to adjust one or morecolor values of display data (e.g., an image) destined for presentmentby a display (e.g., display 20 of display device 12) to achieve adesired (e.g., specified) gamut resulting in gamut mapping of thedisplay. In some examples of FIG. 4C, the desired gamut may be definedby sRGB, meaning that the method 430 may result in mapping the gamut ofdisplay 20 to sRGB based on performance of a target display (e.g.,target display 21) such that display data, when displayed by display 20,appears to or actually conforms to sRGB. For example, display data, whendisplayed by display 20, may more closely resemble the gamut of aspecified color specification than would otherwise be displayed absentcalibration and/or adjustment according to one or more of the displaycalibration and adjustment techniques described in this disclosure.

Method 460 may be performed by display calibration device 14 to performdisplay calibration (e.g., gamut mapping) of display data on displaydevice 12. For example, one or more processes shown in FIG. 4C may beperformed by display calibration device 14, and one or more processesshown in FIG. 4C may be performed by display device 12 and/or display 20of display device 12 using data generated by display calibration device14 to calibrate one or more display features of display 20. For example,one or more processes of FIG. 4C may be performed by one or moreprocessors of one or more devices, such as one or more processors ofdisplay calibration device 14 and/or one or more processors of displaydevice 12 (including one or more processors of display device 12 and/ordisplay 20). In some examples, the left side may be performed by one ormore processors of display calibration device 14, and the right side maybe performed by one or more processors of display device 12. Forexample, the right side may be performed by one or more processors ofdisplay 20, one or more processors of display device 12 (e.g., a CPU ora display processor), and the like. In some examples, the one or moredisplay features may include the gamut, such as gamut mapping display 20to conform to a color specification (e.g., sRGB).

In the example of FIG. 4C, display calibration device 14 may beconfigured to provide an input of display data to a target display(e.g., target display 21) to be modeled (462). In some examples, theinput of display data may include or otherwise be referred to as one ormore tests, image tests, color tests, training sets, or modeling sets asdescribed herein (e.g., throughout this disclosure). For example,display calibration device 14 may be configured to output display data(e.g., one or more image tests) to a target display (e.g., targetdisplay 21). In this example, the display data output by displaycalibration device 14 constitutes an input of display data to a targetdisplay (e.g., target display 21).

In some examples, the input of display data (or, more simply, input) mayconform to a color space (e.g., RGB), which may conform to a colorspecification (e.g., sRGB). In such examples, the input may benon-linear. For example, the input may comprise non-linear RGB values(e.g., gamma compressed RGB values). It is understood that providing aninput to a target display (e.g., target display 21) may includeproviding an input to a display device (e.g., display device 12) that isconfigured to process display data (e.g., the input provided by displaycalibration device 14) such that the input display data is presented ona display (e.g., display 20) of the display device.

It is therefore also appreciated that display calibration device 14 maybe configured to provide an input to display device 12 for which displaydevice 12 is configured to process such that the input received fromdisplay calibration device 14 is presented by display 20 (or a displaydifferent from display 20 and/or a display otherwise not associated withdisplay device 12). In this example, display 20 may constitute thetarget display. It is understood that some examples provided hereinrefer to target display 21. In view of the definition of target display21 described herein, reference to target display 21 includes referenceto a target display that may be display 20 or may not be display 20.Therefore, while an example may be provided as “target display 21 ordisplay 20,” such an example is included to enhance readability, but itis understood that reference to “target display 21” alone refers to atarget display that may be display 20 or may not be display 20.

Display calibration device 14 may be configured to measure the targetdisplay (464). For example, display calibration device 14 may beconfigured to measure the target display (e.g., target display 21 ordisplay 20 of display device 12) when displaying the input of displaydata. For example, display calibration device 14 may be configured tomeasure one or more color values displayed by the target display whendisplaying the input of display data. In some examples, the one or morecolor values may be measured using colorimeter 30. In other examples,the one or more color values may be measured using a colorimeter of adevice separate from display calibration device 14. In such examples,display calibration device 14 may be configured to receive one or moremeasured color values from colorimeter 30 or from the colorimeter of adevice separate from display calibration device 14.

In some examples, the one or more color measured color values may referto values corresponding to light measurement. In such examples, the oneor more measured color values may refer to values in the XYZ colorspace. For example, when the input is a non-linear image test (e.g., anR′G′B′ image test, meaning that the image test includes gamma compressedRGB values), display calibration device 14 may be configured to measurethe color values displayed by the target display when the target displayis displaying the non-linear image test. In some examples, anycolorimeter (e.g., colorimeter 30 of display calibration device 14 or acolorimeter of a different device) may be configured to measure thecolor values in the XYZ color space.

It is therefore understood that the target display may be configured todisplay input display data corresponding to a first color space whileone or more colors displayed by the target device are measured in asecond color space. For example, the target display may be configured todisplay input display data output by display calibration device 14 (orsome other device) in a first color space while display calibrationdevice 14 (or some other measuring device) may be configured to measurethe input display data presented by the target display in a second colorspace. Similarly, it is understood that display calibration device 14may be configured to output display data in a first color space destinedfor presentment by the target display, and that display calibrationdevice 14 may be configured to measure, in a second color space, colorvalues presented by the target display when presenting the input displaydata presented by the target display. As described herein, thecolorimeter 30 of display calibration device 14 may be configured tomeasure displayed color values, and store the measured color values in amemory (e.g., memory 24 or a memory accessible by display calibrationdevice 14).

Display calibration device 14 may be configured to normalize each of theone or more measured color values (466). For example, displaycalibration device 14 may be configured to normalize each of the one ormore measured color values by one or more measured values correspondingto a first channel. For example, in an example where the one or moremeasured color values correspond to the XYZ color space, the X, Y, and Zmeasured values may be normalized based on the Ys value (e.g., theluminance component of a specified white in the XYZ color space). Inthis example, display calibration device 14 may be configured todetermine the normalized X value by dividing the measured X value by theYs value. Similarly, display calibration device 14 may be configured todetermine the normalized Z value by dividing the measured Z value by theYs value. Display calibration device 14 may be configured to determinethe normalized Y value by dividing the measured Y value by the Ys value,which equals 1. In such an example, the normalized values for three setsof measured XYZ values (X1, Y1, Z1), (X2, Y2, Z2), and (X3, Y3, Z3) mayrespectively be calculated as (X1/Ys, Y1/Ys, Z1/Ys), (X2/Ys, Y2/Ys,Z2/Ys), and (X3/Ys, Y3/Ys, Z3/Ys).

Instead of being configured to remove compression (e.g., gammacompression) to obtain uncompressed values corresponding to the input ofdisplay data, display calibration device 14 may be configured to modelnon-linear values instead of linear values. For example, displaycalibration device 14 may be configured to calculate (e.g., generate)one or more linear color values based on a color specification (468). Insome examples, the one or more linear color values based on the colorspecification and one or more non-linear color values corresponding tothe input of display data are in the same color space (e.g., a firstcolor space). The color specification may map one or more color valuesof a second color space to one or more linear color values of the firstcolor space. In such examples, the first color space may correspond tothe RGB color space, the second color space may correspond to the XYZcolor space, and the color specification may be sRGB. Displaycalibration device 14 may be configured to use the color specificationto convert one or more measured color values in the second color spaceto one or more linear color values in the first color space. The one ormore linear color values generated as a result of this conversion may bereferred to as the one or more calculated linear color values. Forexample, display calibration device 14 may be configured to convert oneor more XYZ color values (e.g., one or more measured color values) toone or more linear RGB color values using sRGB that maps XYZ colorvalues to linear RGB color values.

Display calibration device 14 may be configured to calculate (e.g.,generate) one or more non-linear color values based on a colorspecification (470). For example, display calibration device 14 may beconfigured to gamma compress (or otherwise calculate gamma compressedcolor values), according to the sRGB color specification, the one ormore linear RGB color values derived from using the sRGB colorspecification. As another example, display calibration device 14 may beconfigured to gamma compress, based on a color specification (e.g., thesame color specification used to derive the calculated color values atblock 468), the one or more calculated color values generated at block468. The color specification used at block 470 may be the same colorspecification used at block 468. In some examples, the one or morenon-linear color values based on the color specification and one or morecolor values corresponding to the input of display data are in the samecolor space (e.g., a first color space). In such examples, the firstcolor space may correspond to the RGB color space and the colorspecification may be sRGB. Display calibration device 14 may beconfigured to use the color specification to convert one or morecalculated linear color values to one or more non-linear color values inthe first color space by, for example, gamma compressing (or otherwisecalculate gamma compressed color values) the one or more calculatedlinear color values according to the color specification. The one ormore non-linear color values generated as a result of this conversionmay be referred to as the one or more calculated non-linear colorvalues. For example, display calibration device 14 may be configured toconvert one or more calculated linear RGB color values to one or morecalculated non-linear RGB color values using sRGB. In some examples, thegamma compressed color values derived at block 470 may be referred to ascalculated non-linear color values.

Display calibration device 14 may be configured to model a mapping(e.g., a relationship between the input display data and the measureddisplay data in the same color space (472). For example, displaycalibration device 14 may be configured to model a mapping (e.g., arelationship) between one or more color values corresponding to theinput display data in the first color space (e.g., RGB) and the one ormore calculated non-linear color values also in the first color space.In an example where the first color space is RGB, the model maps R′G′B′color values to R′G′B′ color values. For example, an input of an R′G′B′color value into the model results in an R′G′B′ value as an output.

In some examples, the model may include a polynomial color correction(PCC) response-surface model. In some examples, the model may include a3×11 PCC response-surface model that includes eleven coefficients foreach color channel in a three channel color space (forming a 3×11matrix). As another example, the model may include a 3×8 PCCresponse-surface model that includes eight coefficients for each of thecolor channels (forming a 3×8 matrix) in a three channel color space.

Display calibration device 14 may be configured to provide (e.g.,transmit via a wired or wireless communication medium) the model todisplay device 12 (474). The arrow between blocks 472 and 478 alsodepicts that it is the model that enables color correction (e.g.,polynomial color correction). Display device 12 may be configured tostore the model in a memory (e.g., memory 18). In some examples, displaycalibration device 14 may be configured to store the model in a memory(e.g., memory 24). In some examples, the model may be referred to as acolor adjustment model, color value adjustment model, color correctionmodel, gamut model, a PCC model, and the like. The model may includesecond order or higher terms.

Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may be configured to perform colorcorrection (e.g., polynomial color correction) using the model (478).For example, one or more processors of display device 12 may beconfigured to output display data for display by display 20 (476). Thedisplay data may be in the same color space as the input display datadisplayed by the target device (e.g., target display 21) and/or outputby display calibration device 14 for presentment by the target display.For example, if the model generated by display calibration device 14correlates (e.g., maps) non-linear RGB values corresponding to the inputto calculated non-linear RGB values, then the display data at block 476may be in the RGB color space. In such an example, the display data atblock 476 may include uncompressed or compressed RGB color values.

Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may utilize the model to adjust oneor more non-linear color values corresponding to the display data (e.g.,all color values corresponding to the display data) (450). For example,for each non-linear color value of a color channel input into the model,an adjusted non-linear color value is output or otherwise generated. Theadjusted non-linear color values corresponding to the display data maybe referred to as color corrected display data. Display 20 may thendisplay images/video using the color corrected display data (480). Thecolor corrected display data may also be referred to as a gamut mappedor gamut adjusted display data.

FIG. 4D illustrates an example display calibration and adjustmenttechnique according to this disclosure. FIG. 4D includes a left stage(blocks 482-490), a middle stage (block 492-502), and a right stage(blocks 506-514). As described in more detail below, method 481illustrates the generation of two PCC models, one in the left stage andone in the middle stage. For example, the left stage of FIG. 4Dillustrates the generation of a first PCC model (referred to as the PCCor the model) to model (e.g., map) the relationship between one or morecolor values corresponding to the input of display data and one or moremeasured color values. For example, the first model may map therelationship between one or more color values corresponding to an input(e.g., one or more color values corresponding to a first color space,such as RGB, destined for display by a display (e.g., target display23)) and one or more color values corresponding to an output (e.g., oneor more measured color values corresponding to a second color space,such as XYZ) derived from measuring the output of the display on whichthe input is displayed. In this example, target display 23 may bereferred to as a golden display.

The middle stage of FIG. 4D illustrates the generation of a second PCCto model the displayed input on a second target display (e.g., targetdisplay 21) relative to the performance of the first target display(e.g., target display 23) and gamut map values based thereon. The secondPCC is based on the first PCC.

The right stage of FIG. 4D illustrates an example of color managementfor a display for which the polynomial color correction (PCC) is used toadjust the gamut of a display (e.g., display 20 of display device 12) toachieve a desired gamut resulting in gamut mapping of the display. Insome examples, the desired gamut may be defined by the gamut of thefirst target display (e.g., target display 23). However, since the gamutof the first target display may not be defined by documentation for auser, the gamut of the first target display may be identified orotherwise determined by measuring the performance of the first targetdisplay. For example, the polynomial color correction (PCC) may be usedto adjust the gamut of a display (e.g., display 20 of display device 12)to match, approach, or more closely resemble the gamut of the firsttarget display.

As another example, the right stage of FIG. 4D illustrates an example ofcolor management for a display for which the PCC is used to adjust oneor more color values of display data (e.g., an image) destined forpresentment by a display (e.g., display 20 of display device 12) toachieve a desired (e.g., specified) gamut resulting in gamut mapping ofthe display. In this example, the specified gamut may be the gamutcorresponding to the first target display. For example, the desiredgamut may be defined by the performance of the first target display.

Method 480 may be performed by display calibration device 14 to performdisplay calibration (e.g., gamut mapping) of display data on displaydevice 12. For example, one or more processes shown in FIG. 4D may beperformed by display calibration device 14, and one or more processesshown in FIG. 4D may be performed by display device 12 and/or display 20of display device 12 using data generated by display calibration device14 to calibrate one or more display features of display 20. For example,one or more processes of FIG. 4D may be performed by one or moreprocessors of one or more devices, such as one or more processors ofdisplay calibration device 14 and/or one or more processors of displaydevice 12 (including one or more processors of display device 12 and/ordisplay 20). In some examples, the left and middle stages may beperformed by one or more processors of display calibration device 14,and the right stage may be performed by one or more processors ofdisplay device 12. For example, the right stage may be performed by oneor more processors of display 20, one or more processors of displaydevice 12 (e.g., a CPU or a display processor), and the like. In someexamples, the one or more display features may include the gamut, suchas gamut mapping display 20 based on the performance of the first targetdisplay (e.g., target display 23). In the example of FIG. 4D, display 20may not constitute the first target display (e.g., target display 23)modeled in the left stage, and may not have any part number, modelnumber, batch number, or identification number in common with display20.

In the example of FIG. 4D, display calibration device 14 may beconfigured to provide an input of display data to a first target display(e.g., target display 23) to be modeled (482). In some examples, theinput of display data may include or otherwise be referred to as one ormore tests, image tests, color tests, training sets, or modeling sets asdescribed herein (e.g., throughout this disclosure).

For example, display calibration device 14 may be configured to outputdisplay data (e.g., one or more image tests) to the first target display(e.g., target display 23). In this example, the display data output bydisplay calibration device 14 constitutes an input of display data tothe first target display (e.g., target display 23). In some examples,the input of display data (or, more simply, input) may conform to acolor space (e.g., RGB), which may conform to a color specification(e.g., sRGB). In such examples, the input may be linear or non-linear.For example, the input may comprise linear RGB values or non-linear RGBvalues (e.g., gamma compressed RGB values).

Display calibration device 14 may be configured to measure the firsttarget display (484). For example, display calibration device 14 may beconfigured to measure the first target display (e.g., target display 23)when displaying the input of display data. For example, displaycalibration device 14 may be configured to measure one or more colorvalues displayed by the first target display (e.g., target display 23)when displaying the input of display data. In some examples, the one ormore color values may be measured using colorimeter 30. In otherexamples, the one or more color values may be measured using acolorimeter of a device separate from display calibration device 14. Insuch examples, display calibration device 14 may be configured toreceive one or more measured color values from colorimeter 30 or fromthe colorimeter of a device separate from display calibration device 14.

In some examples, the one or more color measured color values may referto values corresponding to light measurement. In such examples, the oneor more measured color values may refer to values in the XYZ colorspace. For example, when the input is an R′G′B′ image test (meaning thatthe image test includes gamma compressed RGB values), displaycalibration device 14 may be configured to measure the color valuesdisplayed by the first target display (e.g., target display 23) when thefirst target display is displaying the R′G′B′ image test. In someexamples, any colorimeter (e.g., colorimeter 30 of display calibrationdevice 14 or a colorimeter of a different device) may be configured tomeasure the color values in the XYZ color space. It is thereforeunderstood that the first target display (e.g., target display 23) maybe configured to display input display data corresponding to a firstcolor space while one or more colors displayed by the first targetdevice are measured in a second color space. For example, the firsttarget display may be configured to display input display data output bydisplay calibration device 14 (or some other device) in a first colorspace while display calibration device 14 (or some other measuringdevice) may be configured to measure the input display data presented bythe first target display in a second color space. Similarly, it isunderstood that display calibration device 14 may be configured tooutput display data in a first color space destined for presentment bythe first target display (e.g., target display 23), and that displaycalibration device 14 may be configured to measure, in a second colorspace, color values presented by the first target display whenpresenting the input display data presented by the first target display.As described herein, the colorimeter 30 of display calibration device 14may be configured to measure displayed color values, and store themeasured color values in a memory (e.g., memory 24 or a memoryaccessible by display calibration device 14).

Display calibration device 14 may be configured to normalize each of theone or more measured color values (486). For example, displaycalibration device 14 may be configured to normalize each of the one ormore measured color values by one or more measured values correspondingto a first channel. For example, in an example where the one or moremeasured color values correspond to the XYZ color space, the X, Y, and Zmeasured values may be normalized based on the Ys value (e.g., theluminance component of a specified white in the XYZ color space). Inthis example, display calibration device 14 may be configured todetermine the normalized X value by dividing the measured X value by theYs value. Similarly, display calibration device 14 may be configured todetermine the normalized Z value by dividing the measured Z value by theYs value. Display calibration device 14 may be configured to determinethe normalized Y value by dividing the measured Y value by the Ys value,which equals 1. In such an example, the normalized values for three setsof measured XYZ values (X1, Y1, Z1), (X2, Y2, Z2), and (X3, Y3, Z3) mayrespectively be calculated as (X1/Ys, Y1/Ys, Z1/Ys), (X2/Ys, Y2/Ys,Z2/Ys), and (X3/Ys, Y3/Ys, Z3/Ys).

Display calibration device 14 may be configured to remove compression(e.g., gamma compression) when the input of display data is compressedto obtain uncompressed values corresponding to the input of display data(488). For example, when the input of display data is an R′G′B′ imagetest, display calibration device 14 may be configured to remove gammacompression to obtain linear RGB values corresponding to the non-linearR′G′B′ values of the R′G′B′ image test.

Display calibration device 14 may be configured to model a mapping(e.g., a relationship) between one or more color values corresponding tothe input of display data and one or more measured color values (490).For example, display calibration device 14 may be configured to model amapping between one or more linear color values in a first color space(e.g., RGB) and one or more measured color values (e.g., one or morenormalized measured color values) in a second color space (e.g., XYZ).In this example, display calibration device 14 may be configured tomodel the performance of the first target display (e.g., target display23). For example, using normalized measured XYZ values and linear RGBvalues, display calibration device 14 may be configured to model theperformance (e.g., the gamut) of the first target display by modeling arelationship between linear RGB and XYZ values (e.g., normalized XYZvalues).

In some examples, the model generated at block 490 may include apolynomial color correction (PCC) response-surface model. For example,the model may include a 3×11 PCC response-surface model that includeseleven coefficients for each color channel in a three channel colorspace (forming a 3×11 matrix). As another example, the model may includea 3×8 PCC response-surface model that includes eleven coefficients foreach color channel in a three channel color space (forming a 3×8matrix). As another example, the model may include a 3×17 PCCresponse-surface model that includes eleven coefficients for each colorchannel in a three channel color space (forming a 3×17 matrix). Asanother example, display calibration device 14 may be configured to usecolor values measured in a first color space (e.g., the XYZ color space)and color values in a second color space (e.g., sRGB) corresponding tothe input display data to model a mapping of linear first and secondcolor space color values.

Referring to the middle stage of FIG. 4D, display calibration device 14may be configured to provide an input of display data to a second targetdisplay (e.g., target display 21) to be modeled (492). In some examples,the input of display data may include or otherwise be referred to as oneor more tests, image tests, color tests, training sets, or modeling setsas described herein (e.g., throughout this disclosure). The display datashown at blocks 482 and 492 may correspond to one or more color tests.The one or more color tests may be the same or different from the leftstage and middle stage of method 481. For example, the one or more colortests corresponding to display data at block 482 may be the same as ordifferent from the one or more color tests corresponding to display dataat block 492.

For example, display calibration device 14 may be configured to outputdisplay data (e.g., one or more image tests) to the second targetdisplay (e.g., target display 21). In this example, the display dataoutput by display calibration device 14 constitutes an input of displaydata to the second target display (e.g., target display 21). In someexamples, the input of display data (or, more simply, input) may conformto a color space (e.g., RGB), which may conform to a color specification(e.g., sRGB). In such examples, the input may be linear or non-linear.For example, the input may comprise linear RGB values or non-linear RGBvalues (e.g., gamma compressed RGB values).

Display calibration device 14 may be configured to measure the secondtarget display (494). For example, display calibration device 14 may beconfigured to measure the second target display (e.g., target display21) when displaying the input of display data. For example, displaycalibration device 14 may be configured to measure one or more colorvalues displayed by the second target display (e.g., target display 21)when displaying the input of display data. In some examples, the one ormore color values may be measured using colorimeter 30. In otherexamples, the one or more color values may be measured using acolorimeter of a device separate from display calibration device 14. Insuch examples, display calibration device 14 may be configured toreceive one or more measured color values from colorimeter 30 or fromthe colorimeter of a device separate from display calibration device 14.

In some examples, the one or more color measured color values may referto values corresponding to light measurement. In such examples, the oneor more measured color values may refer to values in the XYZ colorspace. For example, when the input is an R′G′B′ image test (meaning thatthe image test includes gamma compressed RGB values), displaycalibration device 14 may be configured to measure the color valuesdisplayed by the second target display (e.g., target display 21) whenthe second target display is displaying the R′G′B′ image test. In someexamples, any colorimeter (e.g., colorimeter 30 of display calibrationdevice 14 or a colorimeter of a different device) may be configured tomeasure the color values in the XYZ color space. It is thereforeunderstood that the second target display (e.g., target display 21) maybe configured to display input display data corresponding to a firstcolor space while one or more colors displayed by the first targetdevice are measured in a second color space. The first color spacedescribed in the left stage of FIG. 4D may be the same as the firstcolor space described with respect to the middle stage of FIG. 4D.Similarly, the second color space described in the left stage of FIG. 4Dmay be the same as the second color space described with respect to themiddle stage of FIG. 4D.

In some examples, the second target display may be configured to displayinput display data output by display calibration device 14 (or someother device) in a first color space while display calibration device 14(or some other measuring device) may be configured to measure the inputdisplay data presented by the second target display in a second colorspace. Similarly, it is understood that display calibration device 14may be configured to output display data in a first color space destinedfor presentment by the second target display (e.g., target display 21),and that display calibration device 14 may be configured to measure, ina second color space, color values presented by the second targetdisplay when presenting the input display data presented by the secondtarget display. As described herein, the colorimeter 30 of displaycalibration device 14 may be configured to measure displayed colorvalues, and store the measured color values in a memory (e.g., memory 24or a memory accessible by display calibration device 14).

Display calibration device 14 may be configured to normalize each of theone or more measured color values (496). For example, displaycalibration device 14 may be configured to normalize each of the one ormore measured color values by one or more measured values correspondingto a first channel. For example, in an example where the one or moremeasured color values correspond to the XYZ color space, the X, Y, and Zmeasured values may be normalized based on the Ys value (e.g., theluminance component of a specified white in the XYZ color space). Inthis example, display calibration device 14 may be configured todetermine the normalized X value by dividing the measured X value by theYs value. Similarly, display calibration device 14 may be configured todetermine the normalized Z value by dividing the measured Z value by theYs value. Display calibration device 14 may be configured to determinethe normalized Y value by dividing the measured Y value by the Ys value,which equals 1. In such an example, the normalized values for three setsof measured XYZ values (X1, Y1, Z1), (X2, Y2, Z2), and (X3, Y3, Z3) mayrespectively be calculated as (X1/Ys, Y1/Ys, Z1/Ys), (X2/Ys, Y2/Ys,Z2/Ys), and (X3/Ys, Y3/Ys, Z3/Ys).

Display calibration device 14 may be configured to remove compression(e.g., gamma compression) when the input of display data is compressedto obtain uncompressed values corresponding to the input of display data(498). For example, when the input of display data is an R′G′B′ imagetest, display calibration device 14 may be configured to remove gammacompression to obtain linear RGB values corresponding to the non-linearR′G′B′ values of the R′G′B′ image test.

Display calibration device 14 may be configured to calculate orotherwise predict one or more color values (500), which may be referredto as the one or more predicted color values. For example, displaycalibration device 14 may be configured to calculate or otherwisepredict one or more color values in the first color space. In such anexample, display calibration device 14 may be configured to calculate(e.g., generate) a predicted color value for each of the one or moremeasured color values by inputting each of the one or more measuredcolor values (e.g., the one or more measured normalized color values)into the first second-order or higher response-surface regression model(i.e., the model generated at block 490). For example, displaycalibration device 14 may be configured to calculate or otherwisepredict one or more color values corresponding to the color space of theinput display data described with respect to block 492 using the firstmodel generated at block 490, which maps color values of the secondcolor space (e.g., the XYZ color space) to color values of the firstcolor space (e.g., RGB).

Display calibration device 14 may be configured to model a mapping(e.g., a relationship) between one or more color values corresponding tothe input of display data and the one or more predicted color values(502). For example, display calibration device 14 may be configured tomodel a mapping between one or more linear color values in a first colorspace (e.g., RGB) and the one or more predicted color values in thefirst color space. In this example, display calibration device 14 may beconfigured to model the performance of the second target display (e.g.,target display 21) relative to the performance of the performance of thefirst target display (e.g., target display 23). For example, using theone or more predicted color values (e.g., one or more predicted RGBcolor values) and linear RGB values corresponding to the display datadescribed with respect to block 492, display calibration device 14 maybe configured to generate a second second-order or higherresponse-surface regression model that maps predicted color valuesoutput by the first second-order or higher response-surface regressionmodel corresponding to the first color space to color valuescorresponding to the first color space. In this example, where the firstcolor space is RGB, an RGB value corresponding to the display datadescribed with respect to block 492 may be input into the secondsecond-order or higher response-surface regression model resulting in anoutput of a predicted RGB value. By adjusting color values in thismanner, an image may be adjusted prior to display to match, approach, ormore closely resemble the gamut of the first target display (e.g.,target display 23) when displayed by a different display (e.g., display20).

In some examples, the model generated at block 502 may include apolynomial color correction (PCC) response-surface model. For example,the model may include a 3×11 PCC response-surface model that includeseleven coefficients for each color channel in a three channel colorspace (forming a 3×11 matrix). As another example, the model may includea 3×8 PCC response-surface model that includes eleven coefficients foreach color channel in a three channel color space (forming a 3×8matrix). As another example, the model may include a 3×17 PCCresponse-surface model that includes eleven coefficients for each colorchannel in a three channel color space (forming a 3×17 matrix). Theterms of the model generated at block 502 may include one or more secondorder or higher color value terms corresponding to the first colorspace. For example, where the first color space is RGB, then second orhigher terms may include terms such as R*G, G*B, B*R, R*R, B*B, G*G,R*G*B, R*R*B, B*B*G, R*R*R, and the like. In some examples, the terms ofthe model generated at block 490 may include one or more second order orhigher color value terms corresponding to the second color space. Forexample, where the second color space is XYZ, then second or higherterms may include terms such as X*Y, Y*Z, Z*X, X*X, Z*Z, Y*Y, X*Y*Z,X*X*Z, Z*Z*Y, X*X*X, and the like.

Display calibration device 14 may be configured to provide (e.g.,transmit via a wired or wireless communication medium) the second model(e.g., the model generated at block 502) to display device 12 (504). Thearrow between blocks 502 and 510 also depicts that it is the secondmodel that enables color correction (e.g., polynomial color correction).Display device 12 may be configured to store the second model in amemory (e.g., memory 18). In some examples, display calibration device14 may be configured to store the second model in a memory (e.g., memory24). In some examples, the model may be referred to as a coloradjustment model, color value adjustment model, color correction model,gamut model, a PCC model, and the like. The model may include secondorder or higher terms.

Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may be configured to perform colorcorrection (e.g., polynomial color correction) using the model (510).For example, one or more processors of display device 12 may beconfigured to output display data for display by display 20 (506). Thedisplay data may be in the same color space as the input display datadisplayed by the first and or second target devices (e.g., targetdisplay 23 and/or target display 21, respectively) and/or output bydisplay calibration device 14 for presentment by the first and/or secondtarget displays. For example, if the second model generated by displaycalibration device 14 correlates (e.g., maps) linear RGB valuescorresponding to the input to predicted linear RGB values, then thedisplay data at block 506 may be in the RGB color space. In such anexample, the display data at block 506 may include uncompressed orcompressed RGB color values.

Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may perform input gamma correction(IGC) on display data destined for presentment by display 20 (508).Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may utilize the second model toadjust one or more color values corresponding to the display data (e.g.,all color values corresponding to the display data) (510). For example,for each color value of a color channel input into the model, anadjusted color value is output or otherwise generated. The adjustedcolor values corresponding to the display data may be referred to ascolor corrected display data.

Display device 12 and/or display 20 (e.g., one or more processors ofdisplay device 12 and/or display 20) may perform panel gamma correction(PGC) on color corrected display data (512). For example, display device12 and/or display 20 (e.g., one or more processors of display device 12and/or display 20) may be configured to perform PGC to code luminance ortristimulus values. As another example, display device 12 and/or display20 (e.g., one or more processors of display device 12 and/or display 20)may be configured to perform PGC to compress RGB values of the imageand/or other display data into R′G′B′ values. Display 20 may thendisplay images/video using the color corrected display data that hasbeen panel gamma corrected (514).

It is therefore understood that FIG. 4D and the examples discussed inrelation thereto present examples illustrating how display calibrationdevice 14 may be configured to calibrate and/or adjust display 20 ofdisplay device 12. For example, display calibration device 14 may beconfigured to calibrate and/or adjust the gamut (e.g., the perceivedgamut) of display 20 of display device 12 based on measured performanceof one or more target displays (e.g., target display 21 and/or targetdisplay 23) according to one or more techniques described with respectto FIG. 4D. For example, display calibration device 14 may be configuredto calibrate and/or adjust display 20 of display device 12 by enablingdisplay 20 and/or display device 12 to adjust display data destined fordisplay by display 20 to achieve a different and/or adjusted gamut thanwould otherwise be displayed absent calibration and/or adjustmentaccording to one or more techniques described with respect to FIG. 4D.As one example, the different or adjusted gamut may correspond to thegamut of at least one target display (e.g., target display 23). Asanother example, the different or adjusted gamut may be based onmeasured performance of one or more target displays (e.g., targetdisplay 21 and/or target display 23). As another example, displaycalibration device 14 may be configured to calibrate and/or adjustdisplay 20 of display device 12 by enabling display 20 and/or displaydevice 12 to adjust display data destined for display by display 20 tomatch, approach, or more closely resemble the gamut of a target display(e.g., target display 23) than would otherwise be displayed absentcalibration and/or adjustment according to one or more techniquesdescribed with respect to FIG. 4D.

FIG. 5 is an exemplary matrix 550 to perform RGB to XYZ modeling for anexemplary display device according to this disclosure. Matrix 550illustrates a 3×11 PCC matrix of an RGB to XYZ model for display device12 using calibration device 14. Matrix 550 shows calculated coefficientsa_(ij) for a 3×11 PCC, where i represents the number of the coefficientand j represents the color channel. The 3×11 matrix 550 may be convertedto a 3×10 PCC matrix by removing the 0 valued first column and leavingthe rest of the values of the 3×11 matrix 550. The values in the matrixthat are applied to the input terms in the following models.

An exemplary 3×11 PCC model may contain coefficients a_(ij) forinclusion in the may utilize the following models to predict RGB valuesfor a specified white point:

R=a ₀₁ +a ₁₁ r+a ₂₁ g+a ₃₁ b+a ₄₁ rg+a ₅₁ gb+a ₆₁ br+a ₇₁ r ² +a ₈₁ g ²+a ₉₁ b ² +a _(10,1) rgb

G=a ₀₂ +a ₁₂ r+a ₂₂ h+a ₃₂ b+a ₄₂ rg+a ₅₂ gb+a ₆₂ br+a ₇₂ r ² +a ₈₂ g ²+a ₉₂ b ² +a _(10,2) rgb

B=a ₀₃ +a ₁₃ r+a ₂₃ g+a ₃₃ b+a ₄₃ rg+a ₅₃ gb+a ₆₃ br+a ₇₃ r ² +a ₈₃ g ²+a ₉₃ b ² +a _(10,3) rgb

The capital R, G and B may indicate the resulting values after applyingthe PCC. The lowercase r, g, b are the input values. Notice that thereare three input values that determine three output values (multivariatemultiple regression) via 33 coefficients.

A 3×10 PCC model (as may generally be the same as a 3×11 PCC but withoutthe intercept terms:

R=a ₀₁ +a ₁₁ r+a ₂₁ g+a ₃₁ b+a ₄₁ rg+a ₅₁ gb+a ₆₁ br+a ₇₁ rgb

G=a ₀₂ +a ₁₂ r+a ₂₂ g+a ₃₂ b+a ₄₂ rg+a ₅₂ gb+a ₆₂ br+a ₇₂ rgb

B=a ₁₃ r+a ₂₃ g+a ₃₃ b+a ₄₃ rg+a ₅₃ gb+a ₆₃ br+a ₇₃ r ² +a ₈₃ g ² +a ₉₃b ² +a _(10,3) rgb

A 3×10 PCC can be handled as a 3×11 PCC by setting the “a_(0x)” terms tozero.

An exemplary 3×8 PCC matrix may contain coefficients a_(ij) forinclusion in the may utilize the following models to predict RGB valuesfor a specified white point:

R=a ₀₁ +a ₁₁ r+a ₂₁ g+a ₃₁ b+a ₄₁ rg+a ₅₁ gb+a ₆₁ br+a ₇₁ rgb

G=a ₀₂ +a ₁₂ r+a ₂₂ g+a ₃₂ b+a ₄₂ rg+a ₅₂ gb+a ₆₂ br+a ₇₂ rgb

B=a ₀₃ +a ₁₃ r+a ₂₃ g+a ₃₃ b+a ₄₃ rg+a ₅₃ gb+a ₆₃ br+a ₇₃ rgb

The 3×8 PCC and 3×11 PCC differ in the r², g², and b² terms. Theseexemplary models may be utilized to predict the linear RGB values for aspecified white point for use on the display device 12 by the displaycalibration device 14.

FIG. 6 illustrates an example display calibration and adjustmenttechnique according to this disclosure. The process of FIG. 6 isgenerally described as being performed by display calibration device 14for purposes of illustration, although a variety of other processorsand/or devices may also carry out one or more processes shown in FIG. 6.

In the example of FIG. 6, display calibration device 14 may beconfigured to receive a plurality of color values (600). In someexamples, the plurality of color values may correspond to a first colorspace. Display calibration device 14 may be configured to receive theplurality of color values from a memory (e.g., memory 24) or anotherdevice.

Display calibration device 14 may be configured to receive one or moremeasured color values corresponding to one or more colors displayed by afirst target display (602). Display calibration device 14 may beconfigured to receive the one or more measured color values from amemory (e.g., memory 24) or another device. In some examples, the one ormore measured color values may correspond to a second color space. Theplurality of color values may be associated with the one or moremeasured color values. For example, the plurality of color values may beassociated with the plurality of measured color values in that theplurality of measured color values may be derived from measuring theplurality of color values as displayed on a display. In some examples,the first target display may refer to target display 21 as describedherein.

Display calibration device 14 may be configured to generate, based onthe plurality of color values and the one or more measured color values,a second-order or higher response-surface regression model that mapscolor values corresponding to the second color space to color valuescorresponding to the first color space (604). Display calibration device14 may be configured to generate predicted color values for a specifiedwhite point by inputting a plurality of specified color valuescorresponding to the specified white point into the second-order orhigher response-surface regression model (606). In some examples, eachpredicted color value may correspond to the first color space and eachof the specified color values may correspond to the second color space.In some examples, the second-order or higher response-surface regressionmodel includes second or third order terms.

Display calibration device 14 may be configured to generate scalingfactors based on the predicted color values for the specified whitepoint and the plurality of color values. In some examples, displaycalibration device 14 may be configured to store the second-order orhigher response-surface regression model or the scaling factors in amemory (e.g., memory 24) or a memory accessible to one or moreprocessors of the display calibration device 14. The memory accessibleto one or more processors may refer to memory 24 or a memory differentthan memory 24 that is on or off display calibration device 14. Forexample, such a memory may include a memory associated with a server towhich display calibration device 14 may be configured to transmit datato for storage and receive data therefrom.

In some examples, display calibration device 14 may be configured togenerate, for white point calibration during operation of the firsttarget display, the second-order or higher response-surface regressionmodel or the scaling factors in a memory of the first target display, amemory accessible by the first target display, or a memory of a deviceincluding the first target display. In such examples, the gamut of thefirst target display may be adjusted using the second-order or higherresponse-surface regression model or scaling factors stored in thememory of the first target display to achieve a desired white point. Insome examples, the second target display may be display 20 and the firsttarget display may be target display 21. In such examples, the secondtarget display and the first target display are physically differentdisplays. In such examples, the gamut (e.g., white point) of the secondtarget display may be adjusted using the second-order or higherresponse-surface regression model or scaling factors stored in thememory of the second target display, the memory accessible by the secondtarget display, or the memory of a device including the second targetdisplay.

In some examples, display calibration device 14 may be configured tostore, for white point calibration during operation of a second targetdisplay, the second-order or higher response-surface regression model orthe scaling factors in a memory of the second target display, a memoryaccessible by the second target display, or a memory of a deviceincluding the second target display. The second target display may haveat least one of a part number, model number, batch number, oridentification number in common with the first target display.

In some examples, display calibration device 14 may be configured toreceive the plurality of color values from a colorimeter (e.g.,colorimeter 30 or a colorimeter different from colorimeter 30 on adifferent device). In some examples, display calibration device 14 maybe configured to receive the one or more measured color values from acolorimeter (e.g., colorimeter 30 or a colorimeter different fromcolorimeter 30 on a different device). In some examples, displaycalibration device 14 may be configured to output the one or more colorsfor display by the first target display.

In some examples, the one or more measured color values may refer tovalues corresponding to light measurement and the plurality of colorvalues refers to RGB color values. In some examples, the plurality ofcolor values may be user-generated, processor-generated, or stored on amemory accessible to the one or more processors. For example, instead ofreceiving the plurality of color values from a colorimeter, theplurality of color values may be generated by a user, stored in a memory(e.g., e.g., memory 24) of display calibration device 14, and receivedfrom the memory.

FIG. 7 illustrates an example display calibration and adjustmenttechnique according to this disclosure. The process of FIG. 7 isgenerally described as being performed by display calibration device 14for purposes of illustration, although a variety of other processorsand/or devices may also carry out one or more processes shown in FIG. 7.

In the example of FIG. 7, display calibration device 14 may beconfigured to generate, based on a first plurality of color values and asecond plurality of color values, a first second-order or higherresponse-surface regression model that maps color values correspondingto the second color space to color values corresponding to the firstcolor space (700). In some examples, the first plurality of color valuesmay correspond to a first color space and the second plurality of colorvalues may correspond to a second color space.

Display calibration device 14 may be configured to receive the firstand/or second plurality of color values from a memory (e.g., memory 24)or another device. In some examples, the first and/or second pluralityof color values may be user-generated, processor-generated, or stored ona memory accessible to the one or more processors. For example, insteadof receiving the plurality of color values from a colorimeter, the firstand/or plurality of color values may be generated by a user, stored in amemory (e.g., e.g., memory 24) of display calibration device 14, andreceived from the memory. The second plurality of color values may referto values corresponding to light measurement and the first plurality ofcolor values may refer to RGB color values.

Display calibration device 14 may be configured to receive a thirdplurality of color values (702). In some examples, the third pluralityof color values may correspond to the first color space. Displaycalibration device 14 may be configured to receive one or more measuredcolor values corresponding to one or more colors displayed by a firsttarget display (704). In some examples, the one or more measured colorvalues may correspond to the second color space. The third plurality ofcolor values may be associated with the one or more measured colorvalues.

Display calibration device 14 may be configured to generate a predictedcolor value for each of the one or more measured color values byinputting each of the one or more measured color values into the firstsecond-order or higher response-surface regression model (706). In someexamples, each predicted color value corresponds to the first colorspace.

Display calibration device 14 may be configured to generate, based onthe one or more predicted color values and the third plurality of colorvalues, a second second-order or higher response-surface regressionmodel that maps predicted color values output by the first second-orderor higher response-surface regression model corresponding to the firstcolor space to color values corresponding to the first color space(708).

In some examples, display calibration device 14 may be configured tostore the second second-order or higher response-surface regressionmodel in a memory (e.g., memory 24) or in a memory accessible to one ormore processors of display calibration device 14. The memory accessibleto one or more processors may refer to memory 24 or a memory differentthan memory 24 that is on or off display calibration device 14. Forexample, such a memory may include a memory associated with a server towhich display calibration device 14 may be configured to transmit datato for storage and receive data therefrom.

In some examples, display calibration device 14 may be configured tostore, for gamut mapping during operation of the first target display,the second second-order or higher response-surface regression model in amemory of the first target display, a memory accessible by the firsttarget display, or a memory of a device including the first targetdisplay. In such examples, the gamut of the first target display may beadjusted using the second-order or higher response-surface regressionmodel stored in the memory of the first target display, the memoryaccessible by the first target display, or the memory of a deviceincluding the first target display.

In some examples, display calibration device 14 may be configured tostore, for gamut mapping during operation of a second target display,the second second-order or higher response-surface regression model in amemory of the second target display, a memory accessible by the secondtarget display, or a memory of a device including the second targetdisplay. The second target display may have at least one of a partnumber, model number, batch number, or identification number in commonwith the first target display. In some examples, the second targetdisplay may be display 20 and the first target display may be targetdisplay 21. In such examples, the second target display and the firsttarget display are physically different displays. In such examples, thegamut of the second target display may be adjusted using thesecond-order or higher response-surface regression model stored in thememory of the second target display, the memory accessible by the secondtarget display, or the memory of a device including the second targetdisplay.

In some examples, display calibration device 14 may be configured toreceive the second plurality of color values and/or the one or moremeasured color values from a colorimeter (e.g., colorimeter 30 or acolorimeter different from colorimeter 30 on a different device). Insome examples, display calibration device 14 may be configured to outputthe one or more colors for display by a second target display (e.g.,target display 23). The second plurality of color values may be measuredcolor values derived from measuring one or more colors displayed by thesecond target display. In some examples, the first and secondsecond-order or higher response-surface regression model include secondor third order terms.

FIG. 8 illustrates an example display calibration and adjustmenttechnique according to this disclosure. The process of FIG. 8 isgenerally described as being performed by display calibration device 14for purposes of illustration, although a variety of other processorsand/or devices may also carry out one or more processes shown in FIG. 8.

In the example of FIG. 8, display calibration device 14 may beconfigured to receive a first plurality of color values (800). In someexamples, the first plurality of color values correspond to a firstcolor space. Display calibration device 14 may be configured to receivethe first plurality of color values from a memory (e.g., memory 24) oranother device. Display calibration device 14 may be configured toreceive a plurality of measured color values corresponding to aplurality of colors displayed by a first target display (802). Displaycalibration device 14 may be configured to receive the plurality ofmeasured color values from a memory (e.g., memory 24) or another device.In some examples, the plurality of measured color values may correspondto a second color space. The first plurality of color values may beassociated with the plurality of measured color values. For example, thefirst plurality of color values may be associated with the plurality ofmeasured color values in that the plurality of measured color values maybe derived from measuring the first plurality of color values asdisplayed on a display. In some examples, the first target display mayrefer to target display 21 as described herein.

Display calibration device 14 may be configured to generate a secondplurality of color values from the plurality of measured color valuesusing a color specification that maps color values corresponding to thesecond color space to color values corresponding to the first colorspace (804). In some examples, the second plurality of color values maycorrespond to the first color space. Display calibration device 14 maybe configured to generate, based on the first plurality of color valuesand the second plurality of color values, a second-order or higherresponse-surface regression model that maps the first plurality of colorvalues corresponding to the first color space to the second plurality ofcolor values corresponding to the first color space (806).

In some examples, the color specification includes a color standard,such as sRGB. In some examples, display calibration device 14 may beconfigured to store the second-order or higher response-surfaceregression model in a memory (e.g., memory 24) or a memory accessible toone or more processors of the display calibration device 14. The memoryaccessible to one or more processors may refer to memory 24 or a memorydifferent than memory 24 that is on or off display calibration device14. For example, such a memory may include a memory associated with aserver to which display calibration device 14 may be configured totransmit data to for storage and receive data therefrom.

In some examples, display calibration device 14 may be configured tostore, for gamut mapping during operation of the first target display,the second-order or higher response-surface regression model in a memoryof the first target display, a memory accessible by the first targetdisplay, or a memory of a device including the first target display. Insuch examples, the gamut of the first target display may be adjustedusing the second-order or higher response-surface regression modelstored in the memory of the first target display, the memory accessibleby the first target display, or the memory of a device including thefirst target display.

In some examples, display calibration device 14 may be configured tostore, for gamut mapping during operation of a second target display,the second-order or higher response-surface regression model in a memoryof the second target display, a memory accessible by the second targetdisplay, or a memory of a device including the second target display.The second target display may have at least one of a part number, modelnumber, batch number, or identification number in common with the firsttarget display. In some examples, the second target display may bedisplay 20 and the first target display may be target display 21. Insuch examples, the second target display and the first target displayare physically different displays. In such examples, the gamut of thesecond target display may be adjusted using the second-order or higherresponse-surface regression model stored in the memory of the secondtarget display, the memory accessible by the second target display, orthe memory of a device including the second target display.

In some examples, display calibration device 14 may be configured toreceive the plurality of measured color values from a colorimeter (e.g.,colorimeter 30 or a colorimeter different from colorimeter 30 on adifferent device). In some examples, display calibration device 14 maybe configured to output the one or more colors for display by the firsttarget display. In some examples, display calibration device 14 may beconfigured to receive the plurality of measured color values from amemory accessible by the one or more processors. In some examples, thesecond-order or higher response-surface regression model includes secondor third order terms.

In accordance with this disclosure, the term “or” may be interrupted as“and/or” where context does not dictate otherwise. Additionally, whilephrases such as “one or more” or “at least one” or the like may havebeen used for some features disclosed herein but not others; thefeatures for which such language was not used may be interpreted to havesuch a meaning implied where context does not dictate otherwise.

While particular combinations of various aspects of the techniques aredescribed above, these combinations are provided merely to illustrateexamples of the techniques described in this disclosure. Accordingly,the techniques of this disclosure should not be limited to these examplecombinations and may encompass any conceivable combination of thevarious aspects of the techniques described in this disclosure.

The techniques described in this disclosure may be implemented, at leastin part, in hardware, software, firmware or any combination thereof. Forexample, various aspects of the described techniques may be implementedwithin one or more processors, including one or more microprocessors,digital signal processors (DSPs), application specific integratedcircuits (ASICs), field programmable gate arrays (FPGAs), or any otherequivalent integrated or discrete logic circuitry, as well as anycombinations of such components. The term “processor” or “processingcircuitry” may generally refer to any of the foregoing logic circuitry,alone or in combination with other logic circuitry, or any otherequivalent circuitry such as discrete hardware that performs processing.

Such hardware, software, and firmware may be implemented within the samedevice or within separate devices to support the various operations andfunctions described in this disclosure. In addition, any of thedescribed units, modules or components may be implemented together orseparately as discrete but interoperable logic devices. Depiction ofdifferent features as modules or units is intended to highlightdifferent functional aspects and does not necessarily imply that suchmodules or units must be realized by separate hardware or softwarecomponents. Rather, functionality associated with one or more modules orunits may be performed by separate hardware, firmware, and/or softwarecomponents, or integrated within common or separate hardware or softwarecomponents.

The techniques described in this disclosure may also be stored, embodiedor encoded in a computer-readable medium, such as a computer-readablestorage medium that stores instructions. Instructions embedded orencoded in a computer-readable medium may cause one or more processorsto perform the techniques described herein, e.g., when the instructionsare executed by the one or more processors. In some examples, thecomputer-readable medium may be a non-transitory computer-readablestorage medium. Computer readable storage media may include randomaccess memory (RAM), read only memory (ROM), programmable read onlymemory (PROM), erasable programmable read only memory (EPROM),electronically erasable programmable read only memory (EEPROM), flashmemory, a hard disk, a CD-ROM, a floppy disk, a cassette, magneticmedia, optical media, or other computer readable storage media that istangible.

Computer-readable media may include computer-readable storage media,which corresponds to a tangible storage medium, such as those listedabove. Computer-readable media may also comprise communication mediaincluding any medium that facilitates transfer of a computer programfrom one place to another, e.g., according to a communication protocol.In this manner, the phrase “computer-readable media” generally maycorrespond to (1) tangible computer-readable storage media which isnon-transitory, and (2) a non-tangible computer-readable communicationmedium such as a transitory signal or carrier wave.

Various aspects and examples have been described. However, modificationscan be made to the structure or techniques of this disclosure withoutdeparting from the scope of the following claims.

What is claimed is:
 1. A method of gamut mapping comprising: generating,by one or more processors based on a first plurality of color values anda second plurality of color values, a first second-order or higherresponse-surface regression model that maps color values correspondingto the second color space to color values corresponding to the firstcolor space, wherein the first plurality of color values correspond to afirst color space and the second plurality of color values correspond toa second color space; receiving, by the one or more processors, a thirdplurality of color values, wherein the third plurality of color valuescorrespond to the first color space; receiving, by the one or moreprocessors, one or more measured color values corresponding to one ormore colors displayed by a first target display, wherein the one or moremeasured color values correspond to the second color space, and whereinthe third plurality of color values are associated with the one or moremeasured color values; generating, by the one or more processors, apredicted color value for each of the one or more measured color valuesby inputting each of the one or more measured color values into thefirst second-order or higher response-surface regression model, whereineach predicted color value corresponds to the first color space; andgenerating, by the one or more processors based on the one or morepredicted color values and the third plurality of color values, a secondsecond-order or higher response-surface regression model that mapspredicted color values output by the first second-order or higherresponse-surface regression model corresponding to the first color spaceto color values corresponding to the first color space.
 2. The method ofclaim 1, wherein at least one calibration tool includes the one or moreprocessors.
 3. The method of claim 2, further comprising: storing thesecond second-order or higher response-surface regression model in amemory of the at least one calibration tool or in a memory accessible tothe one or more processors of the at least one calibration tool.
 4. Themethod of claim 1, further comprising: storing, for gamut mapping duringoperation of the first target display, the second second-order or higherresponse-surface regression model in a memory of the first targetdisplay, a memory accessible by the first target display, or a memory ofa device including the first target display.
 5. The method of claim 4,further comprising: gamut mapping the first target display using thesecond second-order or higher response-surface regression model storedin the memory of the first target display, the memory accessible by thefirst target display, or the memory of a device including the firsttarget display.
 6. The method of claim 1, further comprising: storing,for gamut mapping during operation of a second target display, thesecond second-order or higher response-surface regression model in amemory of the second target display, a memory accessible by the secondtarget display, or a memory of a device including the second targetdisplay, wherein the second target display has at least one of a partnumber, model number, batch number, or identification number in commonwith the first target display.
 7. The method of claim 6, furthercomprising: gamut mapping the second target display using the secondsecond-order or higher response-surface regression model stored in thememory of the second target display, the memory accessible by the firstsecond display, or the memory of a device including the second targetdisplay.
 8. The method of claim 1, further comprising: receiving thesecond plurality of color values from a colorimeter.
 9. The method ofclaim 1, further comprising: receiving the one or more measured colorvalues from a colorimeter.
 10. The method of claim 1, furthercomprising: outputting, by the one or more processors, the one or morecolors for display by a second target display.
 11. The method of claim1, wherein the second plurality of color values are measured colorvalues derived from measuring one or more colors displayed by a secondtarget display.
 12. The method of claim 1, wherein the second pluralityof color values refers to values corresponding to light measurement andthe first plurality of color values refers to RGB color values.
 13. Themethod of claim 1, wherein at least one of the first plurality of colorvalues or the second plurality of color values is user-generated,processor-generated, or stored on a memory accessible to the one or moreprocessors.
 14. The method of claim 1, wherein the first and secondsecond-order or higher response-surface regression models include secondor third order terms.
 15. A device comprising: a memory; and one or moreprocessors configured to: generate, based on a first plurality of colorvalues and a second plurality of color values, a first second-order orhigher response-surface regression model that maps color valuescorresponding to the second color space to color values corresponding tothe first color space, wherein the first plurality of color valuescorrespond to a first color space and the second plurality of colorvalues correspond to a second color space; receive a third plurality ofcolor values, wherein the third plurality of color values correspond tothe first color space; receive one or more measured color valuescorresponding to one or more colors displayed by a first target display,wherein the one or more measured color values correspond to the secondcolor space, and wherein the third plurality of color values areassociated with the one or more measured color values; store the one ormore measured color values in the memory; generate a predicted colorvalue for each of the one or more measured color values by inputtingeach of the one or more measured color values into the firstsecond-order or higher response-surface regression model, wherein eachpredicted color value corresponds to the first color space; andgenerate, based on the one or more predicted color values and the thirdplurality of color values, a second second-order or higherresponse-surface regression model that maps predicted color valuesoutput by the first second-order or higher response-surface regressionmodel corresponding to the first color space to color valuescorresponding to the first color space.
 16. The device of claim 15,wherein the one or more processors are further configured to: store thesecond second-order or higher response-surface regression model in thememory; store the second second-order or higher response-surfaceregression model in a memory of the first target display, a memoryaccessible by the first target display, or a memory of an apparatusincluding the first target display; or store the second second-order orhigher response-surface regression model in a memory of a second targetdisplay, a memory accessible by the second target display, or a memoryof an apparatus including the second target display, wherein the secondtarget display has at least one of a part number, model number, batchnumber, or identification number in common with the first targetdisplay.
 17. The device of claim 15, wherein the one or more processorsare further configured to: receive the second plurality of color valuesand the one or more measured color values from one or more colorimeters.18. The device of claim 15, wherein the second plurality of color valuesare measured color values derived from measuring one or more colorsdisplayed by a second target display.
 19. The device of claim 15,wherein the second plurality of color values refers to valuescorresponding to light measurement and the first plurality of colorvalues refers to RGB color values.
 20. The device of claim 15, whereinat least one of the first plurality of color values or the secondplurality of color values is user-generated, processing-generated, orstored on the memory.
 21. An apparatus comprising: means for generating,based on a first plurality of color values and a second plurality ofcolor values, a first second-order or higher response-surface regressionmodel that maps color values corresponding to the second color space tocolor values corresponding to the first color space, wherein the firstplurality of color values correspond to a first color space and thesecond plurality of color values correspond to a second color space;means for receiving a third plurality of color values, wherein the thirdplurality of color values correspond to the first color space; means forreceiving one or more measured color values corresponding to one or morecolors displayed by a first target display, wherein the one or moremeasured color values correspond to the second color space, and whereinthe third plurality of color values are associated with the one or moremeasured color values; means for generating a predicted color value foreach of the one or more measured color values by inputting each of theone or more measured color values into the first second-order or higherresponse-surface regression model, wherein each predicted color valuecorresponds to the first color space; and means for generating, based onthe one or more predicted color values and the third plurality of colorvalues, a second second-order or higher response-surface regressionmodel that maps predicted color values output by the first second-orderor higher response-surface regression model corresponding to the firstcolor space to color values corresponding to the first color space. 22.The apparatus of claim 21, further comprising: means for storing thesecond second-order or higher response-surface regression model in amemory; means for storing the second second-order or higherresponse-surface regression model in a memory of the first targetdisplay, a memory accessible by the first target display, or a memory ofa device including the first target display; or means for storing thesecond second-order or higher response-surface regression model in amemory of a second target display, a memory accessible by the secondtarget display, or a memory of a device including the second targetdisplay, wherein the second target display has at least one of a partnumber, model number, batch number, or identification number in commonwith the first target display.
 23. The apparatus of claim 21, whereinthe second plurality of color values are measured color values derivedfrom measuring one or more colors displayed by a second target display.24. The apparatus of claim 21, wherein the second plurality of colorvalues refers to values corresponding to light measurement and the firstplurality of color values refers to RGB color values.
 25. The apparatusof claim 21, wherein at least one of the first plurality of color valuesor the second plurality of color values is user-generated,processor-generated, or stored on a memory accessible to the apparatus.26. A non-transitory computer-readable storage medium havinginstructions stored thereon that, when executed, cause one or moreprocessors to: generate, based on a first plurality of color values anda second plurality of color values, a first second-order or higherresponse-surface regression model that maps color values correspondingto the second color space to color values corresponding to the firstcolor space, wherein the first plurality of color values correspond to afirst color space and the second plurality of color values correspond toa second color space; receive a third plurality of color values, whereinthe third plurality of color values correspond to the first color space;receive one or more measured color values corresponding to one or morecolors displayed by a first target display, wherein the one or moremeasured color values correspond to the second color space, and whereinthe third plurality of color values are associated with the one or moremeasured color values; generate a predicted color value for each of theone or more measured color values by inputting each of the one or moremeasured color values into the first second-order or higherresponse-surface regression model, wherein each predicted color valuecorresponds to the first color space; and generate, based on the one ormore predicted color values and the third plurality of color values, asecond second-order or higher response-surface regression model thatmaps predicted color values output by the first second-order or higherresponse-surface regression model corresponding to the first color spaceto color values corresponding to the first color space.
 27. Thenon-transitory computer-readable storage medium of claim 26, wherein theinstructions stored thereon, when executed, cause the one or moreprocessors to: store the second second-order or higher response-surfaceregression model in a memory, wherein the memory includes thecomputer-readable storage medium or a memory different from thecomputer-readable storage medium; store the second second-order orhigher response-surface regression model in a memory of the first targetdisplay, a memory accessible by the first target display, or a memory ofa device including the first target display; or store the secondsecond-order or higher response-surface regression model in a memory ofa second target display, a memory accessible by the second targetdisplay, or a memory of a device including the second target display,wherein the second target display has at least one of a part number,model number, batch number, or identification number in common with thefirst target display.
 28. The non-transitory computer-readable storagemedium of claim 26, wherein the second plurality of color values aremeasured color values derived from measuring one or more colorsdisplayed by a second target display.
 29. The non-transitorycomputer-readable storage medium of claim 26, wherein the secondplurality of color values refers to values corresponding to lightmeasurement and the first plurality of color values refers to RGB colorvalues.
 30. The non-transitory computer-readable storage medium of claim26, wherein at least one of the first plurality of color values or thesecond plurality of color values is user-generated, processor-generated,or stored on the computer-readable storage medium.